2012-04-28 11 views
0

私はplistに保存する他のNSDictionariesを含むNSDictionaryを持っています。 そのインデックスは(非常に巨大な)整数で作られたNSNumbersです。キー奇妙な動作としてNSNumberを持つNSDictionary

私はplistのから辞書を再ロードし、

for(NSDictionary *dict in loadedDict){ 
    nslog(@"dict %@", dict); 
} 

それを反復処理しようとするとこれは単なる辞書のキーではなく、を含む出力につながる - 予想通り - 辞書のダンプを自体。

私は含む辞書を取得するために次の操作を行う必要があります:

NSArray *allKeys = [loadedDict allKeys]; 
for(NSString *key in allKeys){ 
    nslog(@"dict %@", [loadedDict objectForKey:key]); 
} 

そして、はい、キーが本当にNSNumbersに変換整数ですが...

キャッチは何ですか?任意の助けを事前に

おかげで...辞書用

答えて

2

高速列挙は、キーを返します。

http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/objectivec/Chapters/ocFastEnumeration.html

あなたが見ている何期待される動作です。

は、キーと値の両方への明示的なアクセスを得るためにブロックを使用して検討してください。明確化のため

[loadedDict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { 
    // use key and obj... 
}]; 
+0

感謝を! – Swissdude