Objective c 是否在NSMutableArray中筛选NSNumber对象而不使用NSPredicate?
我觉得我有一个独特的问题。这个问题源于解析COLLADA XML文件。我通过文件元素中的空白进行过滤,它工作得很好,除非我将其转储到NSArray,在我到达我试图隔离的实际点之前,我会得到一堆垃圾零值 我的问题是…如果我的NSMutableArray有一堆NSNumber值,我想过滤掉所有的零值,我该怎么做 我想我可以做一些类似的事情:Objective c 是否在NSMutableArray中筛选NSNumber对象而不使用NSPredicate?,objective-c,nsarray,Objective C,Nsarray,我觉得我有一个独特的问题。这个问题源于解析COLLADA XML文件。我通过文件元素中的空白进行过滤,它工作得很好,除非我将其转储到NSArray,在我到达我试图隔离的实际点之前,我会得到一堆垃圾零值 我的问题是…如果我的NSMutableArray有一堆NSNumber值,我想过滤掉所有的零值,我该怎么做 我想我可以做一些类似的事情: NSNumber * newNumber; NSMutableArray * newArray = [[NSMutableArray alloc] init];
NSNumber * newNumber;
NSMutableArray * newArray = [[NSMutableArray alloc] init];
for(oldNumber in oldMutableArray)
{
if(oldNumber != 0)
{
[newArray addObject: oldNumber];
}
}
但是,这不起作用。:) 添加
oldNumber
,而不是newNumber
newNumber
wasnil
NSMutableArray * newarray = [[NSMutableArray alloc] init];
for(oldNumber in oldmutablearray)
{
if(oldnumbervalues != 0)
{
[newarray addObject: oldNumber]; //Add old number, not newNumber. newNumber was nil
}
}
您的主要问题是
!=0实际上是在检查nil值,而不是NSNumber是否等于0
您应该能够做到这一点:
[allXMLObjects removeObject:@(0)];
这将删除所有出现的数值为0的NSNUMBER 问题是,这不起作用…
这不是问题,这是结论。