ios 判断objectAtIndex 为空

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 判断objectAtIndex 为空相关的知识,希望对你有一定的参考价值。

正常
"status":"1","msg":["id":"1","id":"2","id":"3"],[1,1,1]
如果返回返回的json
"status":"1","msg":[],[1,1,1]
怎么判断为空呢?
if([[response objectForKey:@"msg"] objectAtIndex:0]==[NSNull null])

我用这个判断不了.应该怎么判断.各位大神.
我看他返回的数据是"(
)"
引号内的.应该怎么去判断呢?

方法有很多,先确认里面放了什么

你可以先用NSLog打印一下
[[response objectForKey:@"msg"] objectAtIndex:0]看看里面到底放了什么对象,是空字符串还是NSNull

如果是NSNull,用
[[[response objectForKey:@"msg"] objectAtIndex:0] iskindofclass:[NSNull class]]试一下呢?

== 比较的是对象地址,[NSNull null]应该是新new了一个null对象,地址不一样
参考技术A [[[response objectForKey:@"msg"] objectAtIndex:0] count]>0 数组大于0 即不为空。 参考技术B 把判等运算符 == 修改为isEqual方法进行判断

iOS 判断数组是否为空

有人说可以用([array count]==0 )来判断是否为空,都是坑,如果array为空的话,执行count就会直接报错,程序崩溃退出。

正确判断NSArray是否为空的方法:用 (!array)

if(array != nil && ![array isKindOfClass:[NSNullclass]] && array.count !=0){

  //执行array不为空时的操作

}

这样才是iOS判断数组是否为空的准确方式。

以上是关于ios 判断objectAtIndex 为空的主要内容,如果未能解决你的问题,请参考以下文章

java判断字符串是不是为空

linux字符测试

php判断mysql数据库是不是为空

velocity使用总结

LeetCode 951 翻转等价二叉树

iOS 判断数组是否为空