Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/95.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Multipeer连接存储以前会话中的PeerID_Ios_Swift_Multipeer Connectivity - Fatal编程技术网

Ios Multipeer连接存储以前会话中的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

当我使用这行代码时,我首先从以前的会话中接收peerid,然后它从当前会话中提供新peerid。这些数据存储在哪里?有什么方法可以移除存储的文件;也许在视图控制器上初始化?我只想从当前会话中得到恼怒

这是控制台日志:

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
 }
}