我需要刪除的我將如何能夠從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