我的NSDictionary以某种方式为一个键设置了多个值

时间:2013-08-22 00:17:48

标签: ios nsdictionary nsmutabledictionary

我一直试图用我的代码调试一个问题,并且发现了一个奇怪的现象。在触发断点时在调试区域中找到它:

enter image description here

我是否正确观察此密钥有多个值:@"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];

很抱歉很难读懂。它只有一条线。

1 个答案:

答案 0 :(得分:3)

您所看到的是调试器“feechure”。当您有一个可变字典并对其进行修改时,调试器可能无法显示该对象的正确视图。

要可靠地显示NSMutableArrayNSMutableDictionary的内容,请切换到控制台并输入po carForPeerID