我有以下字典:
NSDictionary* jsonDict = @{ @"firstName": txtFirstName.text,@"lastName": txtLastName.text,@"email": txtEmailAddress.text,@"password": txtPassword.text,@"imageUrl": imageUrl,@"facebookId": [fbId integerValue],};
在最后一个元素中,我需要使用一个整数,但我收到错误:
collection element of type int is not an objective c object
如何在这个元素中使用int值?
解决方法
应该:
@"facebookId": [NSNumber numberWithInt:[fbId intValue]];
NSDictionary只适用于对象,因此,我们不能存储简单的int或整数或bools或任何其他原始数据类型.
[fbId integerValue]返回一个原始的整数值(不是一个对象)
因此,我们需要封装原始数据类型并使其成为对象.这就是为什么我们需要使用像NSNumber这样的类来创建一个简单的存储这个垃圾的对象.
更多阅读:http://rypress.com/tutorials/objective-c/data-types/nsnumber.html