NSMutableArray初始化行为

时间:2011-05-20 13:28:05

标签: ios nsmutablearray

初始化时

self.nsmutableArray = [NSMutableArray array];

在我的viewDidLoad方法中NSMutableArray正确初始化,我可以在其中添加addObject。但是,如果我跳过viewDidLoad方法中的上述初始化并在其他一些方法中初始化它,NSMutableArray初始化不正确,我不能在其中添加。 为什么这样做。是否需要始终在viewDidLoad中进行初始化?

2 个答案:

答案 0 :(得分:1)

我认为这几乎是一个重复的问题。您的问题与NSMutableArray初始化几乎没有关系,更多的是关于如何在Objective {C中对NSObject的子类进行内存管理。

请参阅NSString here上的相关信息。看看最佳答案。

如果您希望数组在课程的生命周期内持续使用,请尝试:
self.nsmutablearray = [[NSMutableArray alloc] init];

只需确保您使用dealloc方法发布它:
[self.nsmutablearray release];

或者,你可以@synthesize nsmutablearray,但你仍然需要处理它的发布。有很多方法可以解决这个问题。

答案 1 :(得分:0)

您无需在viewDidLoad消息中初始化NSMutableArray。事实上,你的NSMutableArray不知道它被初始化的上下文。

当您尝试随后向对象添加对象时,我会调查您遇到的问题的具体细节。