Объект не может быть нулевой ошибкой - PullRequest
0 голосов
/ 10 января 2012

Я получаю сообщение об ошибке при попытке добавить новый объект в dataArray.Вот как я определяю dataArray.

-(NSMutableArray *)dataArray{
    if (!_dataArray){   
        _dataArray = [[NSMutableArray alloc] initWithObjects:
                      [NSMutableArray arrayWithObjects:
                       [NSMutableArray array],
                       [NSMutableArray array],
                       [NSMutableArray array],
                       nil],
                      [NSMutableArray arrayWithObjects:
                       [NSMutableArray array],
                       [NSMutableArray array],
                       [NSMutableArray array],
                       nil], 
                      nil];
    }
    return _dataArray;
}

Здесь я пытаюсь добавить объект к dataArray:

[[[self.dataArray objectAtIndex:0] objectAtIndex:0] addObject:[NSString stringWithFormat:@"%@ %@",[attributeDict objectForKey:@"material"], [attributeDict objectForKey:@"tool"]]];
[[[self.dataArray objectAtIndex:0] objectAtIndex:1] addObject:[attributeDict objectForKey:@"level"]];
[[[self.dataArray objectAtIndex:0] objectAtIndex:2] addObject:[attributeDict objectForKey:@"probability"]];

Вот ошибка, которую я получаю: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSArrayM insertObject:atIndex:]: object cannot be nil'

Почему я получаю эту ошибку и как ее исправить?

Ответы [ 3 ]

4 голосов
/ 10 января 2012

Ваш аргумент addObject: вероятен nil.

Проверьте это:

assert(attributeDict);
assert([attributeDict objectForKey:@"level"]);
assert([attributeDict objectForKey:@"probability"]);
0 голосов
/ 10 января 2012

Я исправил это. Я неправильно написал имя переменной.

0 голосов
/ 10 января 2012

Одно из значений, которое вы пытаетесь вставить, возвращается nil, что означает, что attributeDict не содержит ни ключа "уровня", ни "вероятности".Строка не должна быть nil, даже если она снабжена аргументами nil, они просто отображаются как (nil).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...