接收int类型的收集元素不是iOS中的客观c对象

前端之家收集整理的这篇文章主要介绍了接收int类型的收集元素不是iOS中的客观c对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下字典:
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

猜你在找的iOS相关文章