我怎样才能从NSMutableArray中删除[NSNull Null]对象?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我怎样才能从NSMutableArray中删除[NSNull Null]对象?相关的知识,希望对你有一定的参考价值。
我需要删除添加的Null对象
[mutArrSkills addObject:[NSNull null]];
我需要迭代吗?是否有任何函数可以从NSMutableArray中删除所有空值?
如果需要迭代,我该怎么做?
答案
您可以使用NSMutableArray的removeObjectIdenticalTo:
方法,如下所示
[mutArrSkills removeObjectIdenticalTo:[NSNull null]];
删除空值。无需迭代。
另一答案
删除数组中所有出现的给定对象。
讨论此方法使用indexOfObjectIdenticalTo:方法查找匹配项,然后使用removeObjectAtIndex:删除它们。因此,使用对象地址确定匹配。如果数组不包含anObject,则该方法无效(尽管它会产生搜索内容的开销)。
另一答案
你可以尝试这样做,
NSNull *nullValue = [NSNull null];
[mutArrSkills removeObjectIdenticalTo:nullValue];
我希望这有帮助。
另一答案
在Swift你首先必须将你的Swift
Array
施放到NSArray
,制作并使它变得可变,这样你就可以移除Objective-C
剩余的元素,然后把它扔回Array
。
Fatal error: NSArray element failed to match the Swift Array Element type
// my crashing array, containing a not String element, like NSNull or anything else
let myUnsafeSwiftArray: [String]
// make it safely NSArray, then make it mutable
let mutableUnsafeArray = NSMutableArray(array: myUnsafeSwiftArray as NSArray)
// remove leftover class, like [NSNull null] aka NSNull.init()
unsafeTextures.removeObject(identicalTo: NSNull.init())
// Cast the safe array back to its supposed to by element type
let safeArray = unsafeTextures as? [String]
另一答案
你可以像这样迭代。
for(int i=0,i<[mutArrSkills count]; i++)
{
if([[mutArrSkills objectAtIndex:i] isKindOfClass:[NSNull Class]])
{
[mutArrSkills removeObjectAtIndex:i];
}
}
以上是关于我怎样才能从NSMutableArray中删除[NSNull Null]对象?的主要内容,如果未能解决你的问题,请参考以下文章
我如何对 NSMutableArray iphone 进行排序?
从 UITableView NSMutableArray 和 ManagedObjectContext 中删除行