Vin*_*ins 1 xcode objective-c nsdictionary ios
我有一个荒谬的问题.
我有不同类型的值,插入字典中.问题是字典中的值是有效的,内部是null.
NSString *name = [NSString stringWithFormat:@"%@",_nameTextField.text];
NSString *icon = [NSString stringWithFormat:@"%i",itemIcon];
NSDictionary *dictionary = [[NSDictionary alloc]initWithObjectsAndKeys:name,@"name",
icon,@"icon", nil];
NSLog(@"string %@ dictionary %@",icon,[dictionary objectForKey:@"icon"]);
Run Code Online (Sandbox Code Playgroud)
LOG
string 18 dictionary (null)
Run Code Online (Sandbox Code Playgroud)
此问题仅发生在第二个值上,第一个"名称"没有.然而这个过程是一样的.
更奇怪的是,这段代码,我在另一个类中使用,相同并且运行良好.
现在我好奇.可能是Xcode中的问题?
非常感谢
使用initWithObjectsAndKeys(或dictionaryWithObjectsAndKeys:)创建字典时,nil值表示参数的结尾.
无论您是nil在参数列表中输入显式(如同最后的每个人),还是使用任何带有nil值的变量,都是如此.
NSSString *name = nil;
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:name, @"name", nil];
Run Code Online (Sandbox Code Playgroud)
这给你一个空字典,因为第一个参数是nil.甚至没有看到其他论点.