2

コードの問題をデバッグしようとしていましたが、奇妙な現象に遭遇しました。ブレークポイントがトリガーされたときにデバッグ領域でこれを見つけました:

ここに画像の説明を入力

このキーには複数の値があることを確認したのは正しいです@"6898173"か??

これにはどのような原因が考えられますか? GKSession文字列リテラルを使用してこれらのキーと値のペアを設定するのではなく、送信から取得およびデコードされた文字列の部分文字列を取得します。

役立つ可能性のあるものが他にある場合に備えて、私はまだこれを xcode のデバッグ領域に置いています。

編集:

リクエストに応じて、2 つの文字列のうちの 1 つを作成するコードを次に示します (別の文字列は以前に作成されました)。

[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行。

4

1 に答える 1

3

表示されているのは、デバッガー「feechure」です。変更可能なディクショナリがあり、それを変更すると、デバッガはオブジェクトの正しいビューを表示しない場合があります。

NSMutableArrayまたはの内容を確実に表示するNSMutableDictionaryには、コンソールに切り替えて と入力しpo carForPeerIDます。

于 2013-08-22T00:48:38.967 に答える