我想在数组中检查一个空对象(即一个没有值的数组的对象),该数组从文件中获取数据。
例如,如果我的数组包含12个对象(所有NSString),并且索引11处的对象在将其描述打印到Xcode的调试部分时不返回值。我想检查是否是这种情况并做出相应的回应。我已经尝试了
if (!([MY_ARRAY objectAtIndex:11] == nil))
{
//Some Stuff
}
else
{
//Some other Stuff
}
哪个不起作用。
感谢任何帮助。
答案 0 :(得分:2)
描述方法用于调试。您不应该在程序逻辑中使用它。这些对象是什么,它们包含什么?你可以修改对象来添加" isEmpty"属性?
如果你使用NSNull,你可以使用这样的代码:
NSArray *array = @{@"String", @(4), [NSNull null], @"Another string");
for (id anObject in array)
{
if (anObject =! [NSNull null]))
{
//Some Stuff
}
else
{
//Some other Stuff
}
}
答案 1 :(得分:0)
一个对象是一个不能为nil的数组,但你可以使用[NSNull null]这是一个“对象等价”到nil
答案 2 :(得分:0)
正如Jerome Diaz所说,数组中的对象不能为零。您唯一的选择是检查数组的count属性(如果它反映了预期值),或者您可以检查数组中对象的类型/类。将空对象包含到数组中的一种安全方法是[NSNull null]
,但这是填充数组的方法的任务,而不是读取数组的方法。
您可以使用isKindOfClass
或isMemberOfClass
检查数组中对象的类类型。
答案 3 :(得分:0)
您可以检查字符串的长度:[string length] > 0