我有一个控制器类X有IBAction实例方法说dosomething。分配和释放一个类
我有其他类Y做了一些计算,并委托自己。
在这个方法中,可以创建一个类Y的实例。现在应该在哪里发布Y的实例。@property是唯一的解决方案。
//这个动作在类X
- (IBAction为)DoSomething的:(ID)发送方 {
Y * Y = [[Y的alloc] INIT];
// init方法在Y中实现,执行一些工作以及它的代表时常被调用。如果我们释放y,则为 。这将是一场崩溃。那么发布y的地方在哪里。 @property是创建一次性内存并使用它的解决方案。 有没有什么办法可以在这里发布,只有当下一次创建其他对象的时候,只有当代表完成一段时间后他们的工作才会被销毁//
// [y release];它的崩溃。
}
你好。只有几个语义问题:一个类只被分配一次,并且它永远不会“释放”或以其他方式解除分配,直到Objective-C运行时被取出内存AFAIK。所以,你真正想知道的是**对象的分配和释放**,而不是**类**。在其他语言中(尤其是那些将类建模为原型的语言),这种区别并不重要,但在Objective-C中,它非常重要:类也是一个对象,它管理着对象的特征。 – 2010-12-02 15:43:08
嗨乔纳森谢谢。我几乎没有怀疑是不是必须的如果类创建了这样一种方式它有它的对象,并且类说Y本身是其他类的对象,现在有必要释放类Y.当多个对象在X中被创建和销毁。 – ashish 2010-12-03 09:24:22