1

NSMutableArray以下の配列からキー値を取得するにはどうすればよいですか。以下のコードはでクラッシュしisEqualToStringます。@\x18\xaa\x01\xc8\aただし、そのステートメントを実行する前と同じように、変数ビューウィンドウでnsRetの値を確認できます。

        NSMutableArray* nsMyList = [[NSMutableArray alloc] init];
        [nsMyList addObject:[NSDictionary dictionaryWithObjectsAndKeys:
                             @"valueOfKey", @"Key",
                             nil]];
        NSString *nsRet = [nsMyList valueForKey:@"Key"];
        if ([nsRet isEqualToString:@"deviceClass"])
        {
            NSLog(@"Key value:%@", nsRet);
        }

ここの誰かが私がキーの正しい値を取得するのを手伝ってくれますか?ありがとう。

4

4 に答える 4

1

NSDictionaryを配列に格納しました。コードに基づく正しいアクセスは次のようになります。

NSDictionary *dict = [nsMyList objectAtIndex:0];
nsret = [dict valueForKey:@"Key"];
于 2013-03-20T01:03:58.483 に答える
1

objectForKey:これは、ではなく、が必要なためですvalueForKey:。このvalueForKey:方法は、Key-Valueプログラミング用です。さらに、次のように、呼び出しを行う必要があります[nsMyList objectAtIndex:0]

NSString *nsRet = [[nsMyList objectAtIndex:0] objectForKey:@"Key"]
于 2013-03-20T01:03:59.230 に答える
0

valueForKey:辞書ではなくNSMutableArrayで取得しようとしているようです。

あなたが欲しいものは:

[[nsMyList objectAtIndex:0] valueForKey:@"Key"];
于 2013-03-20T01:04:40.590 に答える
0

私は少し迷っています。

作成した辞書にアクセスするには、の最初の要素を取得してから、辞書を取得する必要がありますNSMutableArray

次のようになります。

NSString *nsRet = [nsMyList[0] objectForKey:@"Key"]

私はそれがそれを解決できると思います。

于 2013-03-20T01:08:32.217 に答える