我對Objective-C非常陌生,遇到了NSDictionary方法allKeysForObject:
。看起來非常有用。但是,我有一個NSDictionary有幾個NSArrays(所有長度爲2),並由NSStrings鍵入。基本上,鍵是項目和陣列定義它們的兩個屬性。如果我想拉取所有具有特定屬性的項目名稱,是否可以使用類似allKeysForObject
的東西來完成,或者我應該循環遍歷字典並生成可變數組(似乎效率低下)。ObjC:NSDictionary allKeysForObject *包含*(這是可能的嗎?)
我會加入一段代碼,但我覺得這個問題足夠概念化,代碼不會真正澄清任何事情。哦,到底什麼。這裏有一些簡化的代碼:
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:[NSArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:2],nil],@"Car",[NSArray arrayWithObjects:[NSNumber numberWithInt:2],[NSNumber numberWithInt:3],nil],@"Boat",nil];
NSLog(@"%@",[dict allKeysForObject:???]); // this is the line I am not at all sure about.
編輯:謝謝你的迴應到目前爲止。雖然我不清楚我的問題。我正在尋找一種更通用的方法。我不想檢索特定對象的所有密鑰,例如[1,2]
,但我想查看字典中的所有數組,包括NSNumber 1並返回這些密鑰。所以如果我添加@"Plane",[NSArray arrayWithObjects:[NSNumber numberWithInt:1],[NSNumber numberWithInt:3],nil]
,我想以某種方式查詢NSNumber 1並獲得@"Car"
和@"Plane"
。我意識到這不是這種方法設計的目的。
啊哈!這看起來不錯!謝謝,我需要玩它,但謝謝你指點我正確的軌道! – 2012-08-09 18:35:51