ios检查是否nsarray == null
我收到来自JSON
一些响应,工作正常,但我需要检查一些null
值,
我find了不同的答案,但似乎不工作,
NSArray *productIdList = [packItemDictionary objectForKey:@"ProductIdList"];
我曾尝试过
if ( !productIdList.count ) //which breaks the app, if ( productIdList == [NSNull null] ) // warning: comparison of distinct pointer types (NSArray and NSNull)
那么发生了什么? 如何解决这个问题,并检查我的数组中的null
?
谢谢!
使用演员消除警告:
if (productIdList == (id)[NSNull null])
如果productIdList
实际上是[NSNull null]
,则执行productIdList.count
将引发exception,因为NSNull
不理解count
消息。
您还可以使用方法isKindOfClass:
检查对象的类。
例如,在你的情况下,你可以做以下事情:
if ([productIdList isKindOfClass:[NSArray class]]) { // value is valid }
或者(如果您确定NSNull
指示无效值)
if([productIdList isKindOfClass:[NSNull class]]) { // value is invalid }
您可以使用isEqual
select器:
if ( [productIdList isEqual:[NSNull null]] )
你应该清楚你想要检查的是:数组是null,这意味着variables不存在:
array == nil
或者数组有零元素,你可以:
[array count] == 0