Ios Multipeer连接存储以前会话中的PeerID
当我使用这行代码时,我首先从以前的会话中接收peerid,然后它从当前会话中提供新peerid。这些数据存储在哪里?有什么方法可以移除存储的文件;也许在视图控制器上初始化?我只想从当前会话中得到恼怒 这是控制台日志:Ios Multipeer连接存储以前会话中的PeerID,ios,swift,multipeer-connectivity,Ios,Swift,Multipeer Connectivity,当我使用这行代码时,我首先从以前的会话中接收peerid,然后它从当前会话中提供新peerid。这些数据存储在哪里?有什么方法可以移除存储的文件;也许在视图控制器上初始化?我只想从当前会话中得到恼怒 这是控制台日志: func browser(browser: MCNearbyServiceBrowser!, foundPeer peerID: MCPeerID!, withDiscoveryInfo info: [NSObject : AnyObject]!) { println(p
func browser(browser: MCNearbyServiceBrowser!, foundPeer peerID: MCPeerID!, withDiscoveryInfo info: [NSObject : AnyObject]!) {
println(peerID)
}
只是一个猜测。。。会话是一个分布式对象。框架(OS)存储会话的数据,该数据分布在参与会话的所有设备上。您可能需要重新启动所有此类设备,才能真正擦除有关会话的所有数据。我不能说框架如何知道何时删除过时或过期的会话。但是,例如,它可能会保持一个会话很长时间,以防设备返回范围。我无法解决存储问题,但我找到了一种解决方法,创建一个空数组,每次单击按钮(在我的例子中已排序)时启动它以清空,并将peerID保存在数组中
<MCPeerID: 0x15559080 DisplayName = iphone>
<MCPeerID: 0x156616e0 DisplayName = iphooneeee>
<MCPeerID: 0x1563da30 DisplayName = iphooneeee>
手动存储数据,知道从哪里获取更多信息吗?我同意上面的C4,我想知道如何清除对象。如senty所述,foundpeer返回虚假会话。正如您所说,我重新启动了设备,我的问题得到了解决。这不是解决办法。
~ ViewController {
foundPeers: MCPeerID = []
~ ViewDidLoad {
foundPeers = []
}
@IBAction var button~ {
foundPeers = []
}
// and
func browser(browser: MCNearbyServiceBrowser!, foundPeer peerID: MCPeerID!, withDiscoveryInfo info: [NSObject : AnyObject]!) {
foundPeers.append(peerID)
foundPeers[foundPeers.count - 1].displayName
}
}