我有一个NSMutableArray,它返回nil并且有时为空,我有if / else条件来检查数组是否为空或nil但两者都是真的。
有什么好理由?
myArray = nil;
if ([myArray count] == 0)
{
//do this
}
else if (myArray == nil)
{
// do that
}
答案 0 :(得分:2)
这是按预期工作的。您的数组是nil
。当您在nil
对象上调用方法时,它将返回0
,其等于NO
和false
(或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; }
}
,请在检查数组计数之前将其放入。