当我尝试在NSDictionary中将整数设置为Object时,程序会在没有消息的情况下崩溃(控制台中没有任何内容)。这段代码有什么问题? :
NSString *string = @"foo";
int number = 1;
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
string, @"bla1", number, @"bla2",nil];
答案 0 :(得分:39)
使用NSNumber
代替原始int
:
现代目标-C:
NSString *string = @"foo";
NSNumber *number = @1;
NSDictionary *params = @{@"bla1": string, @"bla2": number};
旧式:
NSString *string = @"foo";
NSNumber *number = [NSNumber numberWithInt:1];
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:
string, @"bla1", number, @"bla2",nil];
答案 1 :(得分:4)
在字典中,你必须存储对象,而不是像int,char等主要类型。