我不明白这有什么意义。我将两个对象放在我创建的 MCNearbyServiceAdvertiser 对象内的 discoveryinfo 字典中,并且浏览器看不到广告商,但是当我将第二个对象移出字典并在行尾将其注释掉时,浏览器会看到广告商。discoveryinfo 字典是否只接受一个对象才能工作?我有一个字符串作为第一个对象,一个数组作为第二个对象。这是它的样子:
advertiser = [[MCNearbyServiceAdvertiser alloc] initWithPeer:myPeerID discoveryInfo:@{@"Name": [[NSString alloc] initWithString:myUniqueID], @"Peers": [[NSArray alloc] initWithArray:connectedPeersAry]} serviceType:@"Blahblah"];
在该行之前,我尝试了这种更简单的格式(但为了以防语法出现问题,请转到上面):
advertiser = [[MCNearbyServiceAdvertiser alloc] initWithPeer:myPeerID discoveryInfo:@{@"Name": myUniqueID, @"Peers": connectedPeersAry} serviceType:@"FRCSCOUT"];
我想我可以在 discoveryinfo 字典中放置一个字典或数组,但我觉得这是一种非常愚蠢的做事方式,因为在任何情况下字典都不应该仅限于一个对象。
我将继续将我的对象放在另一个层中,以在 discoveryinfo 字典中“节省空间”,但如果你们中的任何人找到更好的做事方式或遇到同样的问题,请告诉我。