1

私はiOS開発に非常に慣れていないので、からNSMutableDictionaryにいくつかの値を追加しようとしNSMutableArrayています。コードを実行すると、このエラーが発生します。

2012-05-29 14:09:34.913 iShop [7464:f803]-[__ NSCFArray objectForKey:]:認識されないセレクターがインスタンス0x6e423d0に送信されました2012-05-29 14:09:34.915 iShop [7464:f803] *キャッチされない例外'NSInvalidArgumentException'、理由: ' - [__ NSCFArray objectForKey:]:認識されていないセレクタはインスタンス0x6e423d0に送ら' *まずスローコールスタックを:(0x13cb022 0x155ccd6 0x13cccbd 0x1331ed0 0x1331cb2 0x2bb7 0x13cce42 0x93b9df 0x139f94f 0x1302b43 0x1302424 0x1301d84 0x1301c9b 0x12b47d8 0x12b488a 0x15626 0x28bd 0x2825)終了例外のスローと呼ばれる(lldb)

以下は私のコードです:

-(void) getData:(NSData *) response {
    NSError *error;

    NSMutableDictionary *json = [NSJSONSerialization JSONObjectWithData:response options:kNilOptions error:&error];
    //NSLog(@"%@", json);

    jsonArray = [[NSMutableArray alloc] init];

    jsonArray = [json objectForKey:@"Name"];

    NSLog(@"%@", jsonArray);

}

- (void)viewDidLoad {
    [super viewDidLoad];

    jsonURL = [NSURL URLWithString:@"http://localhost:8888/read_product_list.php"];
    dispatch_async(BgQueue, ^{
        NSData* data = [NSData dataWithContentsOfURL:jsonURL];
        [self performSelectorOnMainThread:@selector(getData:) 
                               withObject:data waitUntilDone:YES];
    });
}
4

1 に答える 1

2

JSONObjectWithDataタイプのオブジェクトを返しますid。受信した json データの構造によって異なります。受信したデータは、NSDictionaryまたはNSArrayです。あなたの場合、トップレベルのオブジェクトはNSArray応答しないタイプであると推測していますobjectForKey

于 2012-05-29T12:32:40.767 に答える