У меня есть проблема, когда атрибут обращается к nil
после итерации:массива устанавливается на ноль после итерации
NSMutableArray * lojas = [[NSMutableArray alloc] init];
for (int x = 0; x < lojaResultado.count; x++) {
NSDictionary * listaAtributos = [lojaResultado objectAtIndex: x];
Loja * loja = [[Loja alloc] init];
NSMutableArray * produtosLista = [[NSMutableArray alloc] init];
[loja setName: [listAtributos objectForKey: @"Loja"]];
NSArray * produtosResultado = [[NSArray alloc] initWithArray: [listaAtributos objectForKey: @"Produtos"]];
for(int y = 0; y < produtosResultado.count; y++){
NSDictionary * produtoAtributos = [produtosResultado objectAtIndex:y];
Produto * produto = [[Produto alloc] init];
[produto setNome: [produtoAtributos objectForKey:@"Nome"]];
getNumber = [produtoAtributos objectForKey: @"Tipo"];
[produto setTipo: [getNumber intValue]];
getNumber = [produtoAtributos objectForKey: @"Tamanho"];
[produto setTamanho: [getNumber intValue]];
[produtosLista addObject: produto];
}
loja.produtos = produtosLista;
[lojas addObject: loja];
}
Во время итерации я могу видеть, в режиме отладки, что мой objetc loja
получить правильную имя по методу setName
и правильный список (loja.produtos = produtosLista
). После добавления объекта loja
в мой массив lojas
Я могу видеть правильный объект, но когда начинается вторая итерация, объект в первой позиции массива имеет свой атрибут produtos
(массив), установленный на nil
. У кого-то была эта проблема раньше? Или кто-то может сказать, что я делаю неправильно?
Лох .h
файл:
@property (nonatomic) NSString * name;
@property (strong, nonatomic) NSMutableArray * produtos;
Был ли вы 'alloc/init' переменной' lojas'? – rmaddy
Это не имеет никакого смысла: «объект в первой позиции массива имеет массив lojas, установленный на nil». И, как говорит rmaddy, как вы знаете, что lojas не ноль, прежде чем вы начнете? – Gruntcakes
Да, да. Я вижу объект loja в массиве lojas после [lojas addObject: loja] – Gian