2

Mac アプリを更新して、xcode を介してアークと最新の obj-c 構文の使用を開始しましたが、obj-c 構文を終了すると、プロジェクトをビルドするときにこのエラーが発生し始めました。

タイプ「NSMutableData *」のオブジェクトに見つからないディクショナリ要素を読み取るメソッドが期待されていました

-(void) finishedCall:(id)data {

     NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

     receivedData = [responseString JSONValue];

    NSLog(@"receivedData-->%@",receivedData);

    NSString *serailizeString = receivedData[@"profile_image_url"];  // <-- Error comes up here

    NSLog (@"Serialize Value : %@",serailizeString);

     [qrcodeMainPage genQR:serailizeString];

}

どこから始めるべきかについて何か提案はありますか?

前もって感謝します!

4

2 に答える 2

4

新しいキー付き添え字構文を使用して、NSDataオブジェクト内の何か(コンパイラーが考えるもの)にアクセスしようとしていますが、エラーが示すように、これは機能しません。おそらく、receivedDataが辞書になることを期待していますか?実行時に実際にNSDictionaryである場合は、そのように宣言する必要があります。-JSONValue呼び出しているメソッドが何を返すのかわからないので、receivedDataが何であるか、または何である可能性があるかはわかりません。辞書である場合とそうでない場合は、そのタイプをチェックして適切に動作するように、さらにコードを記述する必要があります。いずれの場合も、このdictionary[key]表記は、キー付き添え字をサポートするクラスのインスタンスであるオブジェクトに対してのみ機能します。NSDictionaryはそれらのクラスの1つです。NSDataはそうではありません。

于 2012-10-23T16:19:15.327 に答える