我是Objective C新手,我确信这是一个简单的问题,但我无法弄明白: 我有一个类声明了一个名为myDeck的实例变量,它是我创建的一个名为Deck的自定义类的一部分。现在我在我的代码中有这个:
在@interface:
Deck *myDeck;
在我的init方法中:
Deck *ourDeck = [[Deck alloc]init];
myDeck = ourDeck;
所以这似乎创建了myDeck就好了,我可以在其中粘贴值并运行它的方法一段时间,但是我遇到了它不再存在的地方,我在尝试时遇到了EXC_BAD_ACCESS错误用它。
我尝试过添加
[myDeck retain];
无济于事,它仍然在相同的位置失败。我真的不知道我应该如何分配和实现这一点,我有一种感觉我错过了什么,有人吗?
答案 0 :(得分:1)
你在那里做的一切似乎都是正确的;除了我认为你的第一个例子中可能有拼写错误 - 实例变量被称为myDeck
,而不是deck
,对吧?如果您的对象正在消失,那是因为您多次调用release
或autorelease
。 Cocoa中的内存管理非常简单。请查看documentation以获取您可能想要的所有信息。