2012-06-26 156 views

回答

13

你需要讓你的字典mutable,否則將不給setValue:forKey:選擇迴應:

NSMutableDictionary *dic = [NSMutableDictionary dictionary]; 

這是可可一個共同的模式:你經常會看到在對聲明的類:NSArray/NSMutableArrayNSSet/NSMutableSetNSString/NSMutableString等等。可變版本能夠完成不可變版本可以做的所有事情,但它也支持更改其內容的操作。

5
NSMutableDictionary *dic = [NSMutableDictionary dictionary]; 
[dic setValue:@"nvjd" forKey:@"name"];  

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@"nvjd",@"name" nil]; 
1

你有兩個選擇。您可以使用鍵/值對(或多個)初始化NSDictionary,也可以創建NSMutableDictionary並稍後添加。

// Immutable 
NSDictionary *dic = [NSDictionary dictionaryWithObject:@"nvjd" forKey:@"name"]; 

// Mutable 
NSMutableDictionary *dic = [NSMutableDictionary dictionary]; 
[dic setValue:@"nvjd" forKey:@"name"];