我一直试图用我的代码调试一个问题,并且发现了一个奇怪的现象。在触发断点时在调试区域中找到它:
我是否正确观察此密钥有多个值:@"6898173"
??
可能的原因是什么?我没有使用字符串文字设置这些键值对,而是通过获取从GKSession
传输中检索和解码的字符串的子字符串。
我仍然在xcode的调试区域中有这个,包含那些可能有用的东西。
编辑:
根据请求,这里是创建两个字符串之一的代码(另一个是在较早时间创建的):
[carForPeerID setObject:[[MultiScreenRacerCarView alloc] initWithImage:[UIImage imageNamed:@"simple-travel-car-top_view"] trackNumber:[[[NSString stringWithUTF8String:data.bytes] substringWithRange:range] intValue]] forKey:[[NSString stringWithUTF8String:[data bytes]] substringFromIndex:9]];
data
中的字符串可能如下所示:
car00.0146898173
编辑:
发送数据的代码:
[self.currentSession sendData:[[NSString stringWithFormat:@"car%i%@%@", [(MultiScreenRacerCarView *)[carForPeerID objectForKey:peerID] trackNumber], speed, [(MultiScreenRacerCarView *)[carForPeerID objectForKey:peerID] owner]] dataUsingEncoding:NSUTF8StringEncoding] toPeers:@[(NSString *)[peersInOrder objectAtIndex:(self.myOrderNumber + 1)]] withDataMode:GKSendDataReliable error:nil];
很抱歉很难读懂。它只有一条线。
答案 0 :(得分:3)
您所看到的是调试器“feechure”。当您有一个可变字典并对其进行修改时,调试器可能无法显示该对象的正确视图。
要可靠地显示NSMutableArray
或NSMutableDictionary
的内容,请切换到控制台并输入po carForPeerID
。