我正在尝试使用NSMutableArray
的值初始化NSArray
,但当我NSLog
新创建的NSMutableArray
时,我得到的是null
),(null
)......等等
我不知道为什么会发生这种令人沮丧的事情。
我在标题中设置myMutableArray
并@synthesize
等。
然后在parserdidend委托中这就是我尝试做的事情。
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
if (dataSetToParse == @"ggf"){
//Filter results (ISTOY = T)
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like %@",@"ISTOY",@"T"];
NSArray *filteredArray = [parsedDataArrayOfDictionaries filteredArrayUsingPredicate:predicate];
NSLog(@"%@", filteredArray); //This prints correct details
[myMutableArray setArray:filteredArray];
NSLog(@"%@", myMutableArray); //This prints (null), (null)... etc
//Use myMutableArray later...
}
这几乎总结了它。
答案 0 :(得分:5)
我猜myMutableArray
是零?
另外,你可以这样做:
myMutableArray = [ [ filteredArray mutableCopy ] autorelease ] ;
(如果您在ARC下,请不要添加自动释放)
答案 1 :(得分:2)
正如nielsbot所说,或者:
myMutableArray = [NSMutableArray arrayWithArray: filteredArray];
如果您需要担心,这已经返回了一个自动释放的实例。