简单的问题,但我不明白。
我定义了

 @property NSMutableArray* Checkmarks;


myTableView.h

然后在myTableView.m中@synthesize它

Checkmarks = [[NSMutableArray alloc] init];


在viewDidLoad()中,在didSelectRowAtIndexPath中,将数组填充为

[Checkmarks addObject:myObject];


但是我的日志显示Checkmarks为空,而myObject不是。

这仅发生在iOS9中,但我不知道是什么原因引起的或发生了什么变化。

请帮忙 :)

最佳答案

首先,您不需要合成,只有在提供自定义的setter和getter时才需要合成,而且似乎不是您的情况。

其次,您应该使用显式的内存所有权声明属性,因此,您应该具有:

@property (strong, nonatomic) NSMutableArray *checkmarks;


删除合成大小时,可以执行_checkmarks addObject或[self.checkmarks addObject:myObject]。

然后尝试在addObject之前和之后打印您的选中标记。选中标记必须在addObject之前打印一个空数组,然后必须具有该对象。请注意,空数组与nil不同。

关于ios - 填充NSMutableArray无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34769724/

10-09 02:32