回答
字典鍵和值必須是對象引用(id
),因此您不能使用整數作爲鍵。你應該將你包裹在整數一個NSNumber
:
[NSNumber numberWithInt:5]
可以使用initWithObjects
初始化的一個,然後初始化NSDictionary
。我選擇了initWithObjectsAsKeys:
初始值設定項,它接受值,鍵,值,鍵...... nil格式中的鍵/值。
NSDictionary *dict = [[NSDictionary alloc]initWithObjectsAndKeys:[NSNumber numberWithInt:15], [NSNumber numberWithInt:5], nil];
要訪問的價值,你需要做的是相同的:
NSLog(@"%@", [dict objectForKey:[NSNumber numberWithInt:5]]);
編輯:根據您的意見,看來你應該使用的NSMutableDictionary,而不是一個NSDictionary的。同樣的事情適用於包裝你的整數,但你會想要使用setObject:forKey方法:
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setObject:[NSNumber numberWithInt:15] forKey:[NSNumber numberWithInt:5]];
這有幫助嗎?
把它包在一個NSNumber
:
int intKey = 1;
int intValue = 2;
[myDict setObject:[NSNumber numberWithInt:intValue] forKey:[NSNumber numberWithInt:intKey]];
NSLog(@"key: %i, value: %i", intKey, [[myDict objectForKey:[NSNumber numberWithInt:intKey] intValue]);
編輯:您需要使用一個NSMutableDictionary
設定值。 NSDictionary
創建後無法修改。
編譯器在#1行抱怨:「numberWithInt:找不到forKey(返回類型默認爲id)」。 –
您可能在intValue後忘記了一個右括號。 – omz
- 1. 如何從iPhone中的nsdictionary檢索值?
- 2. 如何從NSDictionary中檢索值?
- 3. 我如何檢查從NSDictionary的值和整數值是相同的?
- 4. NSDictionary搜索關鍵字和更新值
- 5. 從NSDictionary中檢索JSON值
- 6. 從localStorage添加和檢索數組
- 7. 添加鍵值的NSDictionary遺漏鍵
- 8. 從NSDictionary檢索數據,Plist
- 9. 從NSDictionary中檢索數據
- 10. 如何添加,刪除和檢索數組或ArrayList中的值?
- 11. 檢索關鍵碼和值從字典
- 12. 如何添加和從數組列表中檢索?
- 13. 添加值的app.config和檢索他們
- 14. 如何在nsuser默認值中存儲和檢索整數值?
- 15. 添加到或唯一鍵的SQL表中檢索和值
- 16. 將一個鍵/值添加到NSDictionary
- 17. 從數據庫檢索後添加值
- 18. 如何從Java 8中的HashMap中檢索值和鍵?
- 19. 如何從哈希映射檢索鍵和值
- 20. 從NSArray中檢索NSDictionary,其中字典鍵具有值X
- 21. 從輸入法添加鍵和值
- 22. 從nsdictionary中取nsdictionary和nsstring的值
- 23. 不知道從NSDictionary中檢索的值
- 24. 如何使用cakephp3中的鍵和值從數組中檢索特定值
- 25. 檢索和添加文件
- 26. 添加和檢索到mysql
- 27. 搜索NSDictionary數組中的鍵值swift
- 28. 如何在iphone中設置數組值和鍵入NSDictionary?
- 29. 如何從NSDictionary獲取鍵/值對?
- 30. 如何從多維數組中搜索和檢索值?
你的問題提到一個NSDictionary。你需要的是一個NSMutableDictionary。同樣的事情適用於包裝整數。使用setObject:forKey方法。 – csano