我需要删除的我将如何能够从NSMutableArray中删除[NSNull Null]对象?
[mutArrSkills addObject:[NSNull null]];
加入空对象是否需要重复?有没有任何函数从NSMutableArray中删除所有空值?
如果需要迭代,我该怎么做?
我需要删除的我将如何能够从NSMutableArray中删除[NSNull Null]对象?
[mutArrSkills addObject:[NSNull null]];
加入空对象是否需要重复?有没有任何函数从NSMutableArray中删除所有空值?
如果需要迭代,我该怎么做?
您可以使用NSMutableArray的removeObjectIdenticalTo:
方法,如下
[mutArrSkills removeObjectIdenticalTo:[NSNull null]];
删除空值。无需迭代。
Aure你确定吗?我不是因为'如果对象地址相同,则对象被认为是相同的。你应该知道,'[NSNull null]!= [NSNull null]'... – Nekto 2012-02-08 11:28:18
是的,就本例而言,通过'[mutArrSkills addObject:[NSNull null]];'添加的元素是通过该呼叫移除。 – Ilanchezhian 2012-02-08 11:30:48
Yes.it工作正常 – Heena 2012-02-08 12:11:29
移除阵列中的给定对象的所有出现。
讨论 此方法使用indexOfObjectIdenticalTo:方法来定位的匹配,然后通过使用removeObjectAtIndex删除它们:.因此,使用对象地址来确定匹配。如果数组不包含anObject,则该方法不起作用(尽管它会导致搜索内容的开销)。
你确定吗?我不是因为'如果对象地址相同,则对象被认为是相同的。正如你应该知道的那样,'[NSNull null]!= [NSNull null]'... – Nekto 2012-02-08 11:28:11
@Nekto请将我的答案提交下来。 – sElanthiraiyan 2012-02-08 11:41:47
您可以像这样迭代。
for(int i=0,i<[mutArrSkills count]; i++)
{
if([[mutArrSkills objectAtIndex:i] isKindOfClass:[NSNull Class]])
{
[mutArrSkills removeObjectAtIndex:i];
}
}
如果数组中有两个连续的NSNull对象,那完全不起作用。 – gnasher729 2014-10-16 13:59:49
你可以尝试这样做,
NSNull *nullValue = [NSNull null];
[mutArrSkills removeObjectIdenticalTo:nullValue];
我希望这有助于。
removeObjectIdenticalTo也会让它阵列,所以你为什么不饶你的自我。 – 2012-02-08 11:45:01