Не добавление объекта в NSMutableArray - PullRequest
0 голосов
/ 29 февраля 2012

Мне бы очень хотелось помочь с этой проблемой, которую я имею с объектами, которые не могут быть добавлены в массивы.

- (IBAction)done:(id)sender{

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSArray *katArr = [defaults objectForKey:@"kategorier"];
    NSMutableArray *kategorier = [katArr mutableCopy];

    [kategorier addObject:[katfield text]];
    NSLog(@"la till kat: %d", [kategorier count]);
    [defaults setObject:kategorier forKey:@"kategorier"];

    NSArray *bArr = [defaults objectForKey:@"bild"];
    NSMutableArray *bilds = [bArr mutableCopy];

    [bilds addObject:valdFarg];
    NSLog(@"la till pic: %d", [bilds count]);
    [defaults setObject:bilds forKey:@"bild"];
    [defaults synchronize];

    [self dismissModalViewControllerAnimated:YES];
}

Добавляется первый объект, "[текст katfield]", и вывод NSLog рассчитываетвверх.Проблема в том, что во второй раз я делаю это с объектом "valdFarg", он не работает.Я попытался выделить память для массива, но это не проблема, я думаю, по крайней мере.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Если NSMutableArray * bilds равен nil [bilds addObject: valdFarg];не делает билды изменяемым массивом с одним объектом;

Вместо

NSArray *bArr = [defaults objectForKey:@"bild"];
NSMutableArray *bilds = [bArr mutableCopy];

do

NSMutableArray *bilds = [NSMutableArray arrayWithArray:[defaults objectForKey:@"bild"]];

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

0 голосов
/ 29 февраля 2012

Возможно, вы используете неправильный ключ, поэтому он возвращает вам ноль:

NSArray *bArr = [defaults objectForKey:@"bild"];

Разве это не билды вместо билдов?

NSArray *bArr = [defaults objectForKey:@"bilds"];
...