如何使用nsarray初始化nsmutablearray

时间:2012-01-24 03:37:30

标签: iphone ios nsmutablearray nsarray foundation

我正在尝试使用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...
    }

这几乎总结了它。

2 个答案:

答案 0 :(得分:5)

我猜myMutableArray是零?

另外,你可以这样做:

myMutableArray = [ [ filteredArray mutableCopy ] autorelease ] ;

(如果您在ARC下,请不要添加自动释放)

答案 1 :(得分:2)

正如nielsbot所说,或者:

myMutableArray = [NSMutableArray arrayWithArray: filteredArray];

如果您需要担心,这已经返回了一个自动释放的实例。