如何检查数组中的所有元素是否为null

时间:2013-05-22 05:16:42

标签: iphone

我有一个代码,当数组中的所有元素都为null时,我想做一些事情。请帮我这样做。

5 个答案:

答案 0 :(得分:1)

这很简单。您必须使用此行检查您的数组

int count = 0;

for (int i=0; i<array.count; i++)
{
    NSString *str = [array objectAtIndex:i];
    if (str == (id)[NSNull null] && str.length == 0 && [str isEqualToString:@"<null>"])
    {
        count++;
        if (count == array.count)
        {
            // here you get all object are null
        }
    }
}

祝你好运!!!

答案 1 :(得分:0)

NSArray和其他集合不能将nil作为值,因为nil是集合结束时的“sentinel值”。您可以使用以下命令查找对象是否为空

if (myObject == [NSNull null]) 
{
    // do something because the object is null
}

或者

如果你想检查它是否为空:

if ([myMutableArray count] == 0) { ... }

If you want to check if the variable is nil:

if (!myMutableArray) { ... }

or:

if (myMutableArray == nil) { ... }

答案 2 :(得分:0)

如果有问题的'数组'是NSArray或子类型,那么您无需做任何事情,因为该集合禁止nil个元素。

否则,您可能有兴趣枚举NSNull实例的值:

bool Foo(NSArray * pArray) {
 assert(pArray.count);
 id nul = NSNull.null;
 for (id at in pArray) {
  if (at != nul)
   return false;
 }
 return true;
}

答案 3 :(得分:0)

if(!yourarray ||!yourarray.count){

}

if语句检查数组是否为空,如果不是,则检查它是否为空...然后你喜欢什么......

答案 4 :(得分:0)

使用此功能

-(BOOL)checkArrayHavingNullEntry:(NSMutableArray *)array
{
  for (id obj in array) {
  if ([obj isKindOfClass:[NSNull class]])
   return false;
 }
 return true;
}