【发布时间】:2016-09-27 08:40:12
【问题描述】:
我正在关注这个很好的教程,并下载了相关项目:https://www.ralfebert.de/tutorials/ios-swift-multipeer-connectivity/
然后,我在 XCode 中打开它并将其转换为 Swift 3。
在代码中,有这样的:
func browser(browser: MCNearbyServiceBrowser!, foundPeer peerID: MCPeerID!, withDiscoveryInfo info: [NSObject : AnyObject]!) {
NSLog("%@", "foundPeer: \(peerID)")
NSLog("%@", "invitePeer: \(peerID)")
browser.invitePeer(peerID, toSession: self.session, withContext: nil, timeout: 10)
}
XCode 将其转换为:
func browser(_: MCNearbyServiceBrowser, foundPeer: MCPeerID, withDiscoveryInfo: [String : String]?){
//...
browser.invitePeer(MCPeerID, to: self.session, withContext: nil, timeout: 10)
}
如您所见,第一个参数不再是browser:这导致该方法无法调用invitePeer(此时没有人知道browser 是什么)。
如何将我的代码转换为调用invitePeer 并尊重新签名?
【问题讨论】: