NSMutableDictionary
- (void)setObject:(id) for :(NSstring *)key
當id 為 nil,會出現 crash。
但是,當用setValue 則沒有事情。目前 Dic 用setValue 代替 setObject 構建MutableDictionary,沒有出現什麼大問題
例子:
NSMutableDictionary *dic1 = [NSMutableDictionary dictionaryWithCapacity:1];
[dic1 setObject:@"1" forKey:@"1"];
[dic1 setObject:@"2" forKey:@"2"];
[dic1 setObject:@"" forKey:@"3"];
[dic1 setObject:@"4" forKey:@"4"];
//[dic setObject:nil forKey:@"41"]; wrong
[dic1 setValue:nil forKey:@"5"];
[dic1 setValue:@"6" forKey:@"6"];
[dic1 setValue:[NSDate date] forKey:@"date"];
[dic1 setValue:[NSString string] forKey:@"nil string"];
[dic1 setValue:[NSDictionary dictionaryWithObject:[[UIView alloc] init] forKey:@"View"] forKey:@"復雜非String"];
2013-03-15 14:36:42.089 GuessMovies[5924:c07] {
1 = 1;
2 = 2;
3 = "";
4 = 4;
6 = 6;
date = "2013-03-15 06:35:56 +0000";
"nil string" = "";
"\U590d\U6742\U975eString" = {
View = "<UIView: 0xa421a10; frame = (0 0; 0 0); layer = <CALayer: 0xa24be80>>";
};
}