我正在尝试将对象添加到NSMutableArray(categoriasArray),但它不是由迭代器完成的:
@synthesize categoriasArray;
for (int i = 0; i < [categories count]; i++) {
categoria *cat = [[categoria alloc] initWithDictionary:[categories objectAtIndex:i]];
[self.categoriasArray addObject:cat];
cat=nil;
}
Run Code Online (Sandbox Code Playgroud)
在for迭代器之后,categoriasArray有0个对象.
非常感谢
nil在循环开始之前检查数组是不是:
NSLog(@"%@", self.categoriasArray); // This will output null
for (int i = 0; i < [categories count]; i++) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
你应该理解的是,合成属性categoriasArray不会初始化它,它只是生成setter和getter方法.因此,要解决您的问题,请在循环之前(或在类的init方法中)初始化数组:
self.categoriasArray = [[NSMutableArray alloc] init];
Run Code Online (Sandbox Code Playgroud)
另一种可能性是它categories本身nil或不包含任何物品.要检查它,NSLog在循环之前添加s:
NSLog(@"%@", self.categoriasArray);
NSLog(@"%@", categories);
NSLog(@"%d", [categories count]);
for (int i = 0; i < [categories count]; i++) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20413 次 |
| 最近记录: |