![](/img/trans.png)
[英]Get JSON Object from JSON Response in Swift
[英]Get value from JSON response Object
我正在发出JSON请求,并希望从其中一个字段获取int值。
{
"currentPage": 1,
"numberOfPages": 5,
"totalResults": 234,
"data": [],
"status": "success"
}
我想获取numberOfPages的值。 我的代码如下
_pages = [responseObject objectForKey:@"numberOfPages"];
_numberOfPages = (int)_pages;
NSLog(@"%d", _numberOfPages);
而不是numberOfPages的值,NSLog是150198512。有人可以解释为什么吗? 尝试索引0处的对象将使其崩溃。
_pages
应该是您定义中的NSNumber
。 您不能将其强制转换为获取原始类型,而必须请求原始类型。 _numberOfPages
应该是NSInteger
(或者可能是NSUInteger
),并且您应该使用以下方法获取值:
_numberOfPages = [_pages integerValue];
另外:考虑使用self.pages
和self.numberOfPages
而不是直接访问实例变量(这可能会在将来帮助您进行维护)。
使用self.pages
到调用结果pages
(或self.pages = xxx
在调用setPages:xxx
)方法来获取(或设置)的实例变量(内容_pages
)。 因此,如果您具有该方法的自定义实现,它将被调用,并且您的自定义逻辑将运行。 如果仅使用_pages
,则不会调用它,如果需要进行更改,则以后需要进行大量编辑。
最好的选择是,每当要更新属性时都使用self.XXX = xxx
而要使用它时则使用XXX xxx = self.xxx
。
这不是一个硬性规定。 这里有趣的讨论 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.