NSMutableArray为empty和nil返回true

时间:2016-03-10 22:06:27

标签: ios iphone

我有一个NSMutableArray,它返回nil并且有时为空,我有if / else条件来检查数组是否为空或nil但两者都是真的。

有什么好理由?

    myArray = nil;
    if ([myArray count] == 0)
    {
       //do this
    }
    else if (myArray == nil)
    {
        // do that
    }

1 个答案:

答案 0 :(得分:2)

这是按预期工作的。您的数组是nil。当您在nil对象上调用方法时,它将返回0,其等于NOfalse(或Swift中的if)。您的代码将始终在第一个nil语句中测试为true。如果要检查数组是否为public class Category { public int Id { get; set; } public int? ParentCategoryId { get; set; } public virtual Category ParentCategory { get; set; } public virtual ICollection<Category> Children { get; set; } } ,请在检查数组计数之前将其放入。