как инициализировать nsmutablearray с помощью nsarray - PullRequest
2 голосов
/ 24 января 2012

Я пытаюсь инициализировать 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 ]

5 голосов
/ 24 января 2012

Я думаю, myMutableArray - это ноль?

Кроме того, вы можете сделать это:

myMutableArray = [ [ filteredArray mutableCopy ] autorelease ] ;

(не добавляйте авто-релиз, если вы находитесь под ARC)

2 голосов
/ 26 апреля 2013

Как сказал nielsbot, или:

myMutableArray = [NSMutableArray arrayWithArray: filteredArray];

Это уже возвращает автоматически выпущенный экземпляр, если вам нужно беспокоиться об этом.

...