2010-11-27 51 views
3


我有一個字典「playerDict」從plist中讀取數據,其中有名稱(myKey),每個鍵有九個關聯對象。如何讀取數組中的鍵的所有NSDictionary對象

我想讀取一個特定的鍵(myKeys)到一個NSMutableArray(theObjects)的所有對象。我已經閱讀了課程參考和搜索互聯網,但無法弄清楚這個問題,可能非常簡單。

在我做的所有其他測試中,我嘗試了以下方法,但將關鍵字返回到對象而不是對象。

theObjects = [playerDict objectForKey:myKeys];

任何人都可以提示?

下面是創建該字典的代碼,我剝奪它:

NSArray *objs = [NSArray arrayWithObjects:[NSNumber numberWithBool:playerObject.diffHard],[NSNumber numberWithBool:playerObject.diffMedium], 
      [NSNumber numberWithBool:playerObject.diffEasy],[NSNumber numberWithBool:playerObject.currentGame], 
      [NSNumber numberWithInt:playerObject.currentGameQuestion],[NSNumber numberWithInt:playerObject.currentGameRightAnswer], 
      [NSNumber numberWithInt:playerObject.currentGameType],[NSNumber numberWithInt:playerObject.nrOfType0Games], 
      [NSNumber numberWithInt:playerObject.type0Result], nil]; 
NSDictionary *newPlayerDict = [NSDictionary dictionaryWithObjectsAndKeys:objs, keyString, nil]; 

回答

4

嘗試valueForKey:

+0

我不知道我以前用valueForKey做錯了什麼,但現在它終於起作用了。大家非常感謝你們。也許這就像我沒有看到因爲樹木而變得灰濛濛的:-) – PeterK 2010-11-27 15:15:35

0

可以每個鍵一個項目只存儲在一個NSDictionary。如果您需要爲同一個鍵重複多個項目,則需要先將每個項目添加到NSArray(或NSSet),然後將其設置爲字典中的對象。

如果您發佈創建字典的代碼可能會有用。

更新:它看起來像你已經這樣做。所以:

NSArray *myObjs=[playerDict objectForKey:keyString]; 

會給你你的數組。而這個:

BOOL diffHard=[[myObjs objectAtIndex:0] boolValue]; 
BOOL diffMedium=[[myObjs objectAtIndex:1] boolValue]; 

會得到你存儲在數組的第一個和第二個對象中的值。重複其餘部分。

相關問題