2011-05-20 68 views
0

当我在viewDidLoad方法的NSMutableArray正确初始化初始化NSMutableArray的初始化行为

self.nsmutableArray = [NSMutableArray array]; 

,我可以在它里面ADDOBJECT。但是,如果我跳过viewDidLoad方法中的上述初始化并在其他一些方法中初始化它,NSMutableArray初始化不正确,我不能在其中添加对象。 为什么会出现这种行为。是否需要始终在viewDidLoad中初始化?

+0

什么是“其他方法”? – necixy 2011-05-20 13:29:01

+1

您可能想查看[Objective-C Primer](http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/_index.html)。 – 2011-05-20 13:40:40

回答

1

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

查看相关文章NSString s here。看最上面的答案。

如果你想在阵列将持续类的一生,尝试:
self.nsmutablearray = [[NSMutableArray alloc] init];

只要确保你释放它在dealloc方法:
[self.nsmutablearray release];

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

+0

你没有明白我的观点。我知道如何初始化一些东西......也许试图理解iOS平台。 – Demones 2011-05-20 14:06:19

0

你不需要在你的viewDidLoad消息中初始化一个NSMutableArray。事实上,你的NSMutableArray没有关于它被初始化的上下文的知识。

我会调查您尝试随后将对象添加到阵列时遇到的问题的具体情况。

+0

感谢您的回复。这是对我来说,但现在我相信我不需要在viewDidLoad中初始化。也许别的东西我不会到这里。 – Demones 2011-05-20 14:11:15