初始化时
self.nsmutableArray = [NSMutableArray array];
在我的viewDidLoad方法中NSMutableArray正确初始化,我可以在其中添加addObject。但是,如果我跳过viewDidLoad方法中的上述初始化并在其他一些方法中初始化它,NSMutableArray初始化不正确,我不能在其中添加。 为什么这样做。是否需要始终在viewDidLoad中进行初始化?
答案 0 :(得分:1)
我认为这几乎是一个重复的问题。您的问题与NSMutableArray
初始化几乎没有关系,更多的是关于如何在Objective {C中对NSObject
的子类进行内存管理。
请参阅NSString
here上的相关信息。看看最佳答案。
如果您希望数组在课程的生命周期内持续使用,请尝试:
self.nsmutablearray = [[NSMutableArray alloc] init];
只需确保您使用dealloc
方法发布它:
[self.nsmutablearray release];
或者,你可以@synthesize
nsmutablearray,但你仍然需要处理它的发布。有很多方法可以解决这个问题。
答案 1 :(得分:0)
您无需在viewDidLoad消息中初始化NSMutableArray。事实上,你的NSMutableArray不知道它被初始化的上下文。
当您尝试随后向对象添加对象时,我会调查您遇到的问题的具体细节。