我已经在头文件中声明了一个属性NSMutableArray。然后我分配,在viewDidLoad方法中初始化它。但是当我尝试在一个不同的方法中向数组添加一个对象时,它会一直返回(null)。我在做一些明显的错误吗?请询问你是否想看更多的代码。NSMutableArray不断返回空
.H
@property (strong, nonatomic) NSMutableArray *myList;
的.m
- (void)viewDidLoad
{
self.dataController = [[DataController alloc]init];
self.myList = [[NSMutableArray alloc] init];
[super viewDidLoad];
}
[...]
NSDictionary *myObject = [self.dataController.objectList objectAtIndex:r];
[[cell textLabel]setText:[myObject objectForKey:@"title"]];
[self.myList addObject:myObject];
NSLog(@"myList %@",self.myList);
NSLog(@"myObject %@",myObject);
myObject的但self.myList保持返回(空)的输出打印。感谢所有帮助!
编辑:修正了,谢谢你的回答!
您确定视图在您尝试访问列表时已加载吗?也许你应该在'init'中初始化这些属性。 –
应用程序中的哪个位置是您创建myObject的代码,将它添加到myList并执行日志? – rdelmar
@KevinBallard第三个代码片段中的代码在tableView:cellForRowAtIndexPath中,所以我猜问题是这个方法在viewDidLoad之前加载。但是,在登录tableView:cellForRowAtIndexPath之前,viewDidLoad中的日志会返回。我试图将代码从viewDidLoad移动到(id)初始化,但从来没有得到它的工作。 – Emil