0

我的应用程序使用多点连接将文件发送到 IOS7 中的其他设备。有了这个框架,多个设备可以连接到 MCSession,并且有一个特定的数组可以让我们计算连接的设备数量。我希望在此计数发生更改时收到通知,但我似乎不明白如何使阵列 KVO 兼容,即使我有这么多的互联网链接和问题。问题是这个数组是由外部控制的:

[session connectedPeers];

为了得到我做的计数:

NSArray* array = [session connectedPeers];
array.count

但改变的不是数组,而是 [session connectedPeers];

如何跟踪此更改?

4

2 回答 2

1

根据文档: ([NSArray Class reference]) 1

addObserver:forKeyPath:options:context:

NSArray 对象是不可观察的,因此当在 NSArray 对象上调用此方法时会引发异常。与其观察数组,不如观察数组是相关对象集合的一对多关系。

我建议使用 Wain 提到的 MCSessionDelegate 方法。

于 2014-04-13T00:40:01.600 回答
0

MCSessionDelegate提供了session:peer:didChangeState:在任何对等点连接或断开会话时通知您的方法。

于 2013-10-31T20:28:47.193 回答