Как мне установить массив с другим массивом? - PullRequest
1 голос
/ 27 февраля 2010
@property (nonatomic, retain)   NSMutableArray *filteredListContent;
----
@synthesize filteredListContent;


- (void)applicationDidFinishLaunching:(UIApplication *)application {     


    NSMutableArray *test = [[NSMutableArray alloc] init];
    [test addObject:@"test string"];
    [filteredListContent addObjectsFromArray:test];


    NSLog(@"%@", test);
    NSLog(@"Filtered Array is %@", filteredListContent);

    [window makeKeyAndVisible];
}

Мой журнал для теста показывает 'тестовую строку', но 'массив отфильтрованного списка равен (null)'

Как мне установить массив 'FilterListContent' с помощью теста массива ...

Что я делаю не так? : - (

Ответы [ 4 ]

2 голосов
/ 27 февраля 2010

Вы где-нибудь создаете и инициализируете filtersListContent? Ваш код выглядит правильно, это должно работать.

Вы также должны освободить переменную test, здесь есть утечка памяти.

0 голосов
/ 27 февраля 2010

Спасибо за это.

поэтому я изменил строку ...

[filteredListContent addObjectsFromArray:test];

читать ...

filteredListContent = [NSMutableArray arrayWithArray:test];

Это сделано. Мне кажется, я понимаю это сейчас, хотя я это и объявил, я никогда не создавал это ...

Thanx.

0 голосов
/ 27 февраля 2010

FilterListContent - указатель на NSMutableArray, ему не назначена какая-либо память, в результате вы не можете вызывать методы для него. Компилятор не генерирует ошибку, потому что вы передаете сообщение на nil, что совершенно нормально.

0 голосов
/ 27 февраля 2010

Вы должны фактически создать фильтрованный список содержимого, скажем, с помощью [[NSMutableArray alloc] init]. Ошибка, которую вы получаете, заключается в том, что вы вызываете метод -addObjectsFromArray: для объекта, который по-прежнему равен nil: никогда не создается. Таким образом, он просто возвращает ноль, и список никогда не фильтруется.

...