首先,我是一个Objective-C的新手。 :)Objective-C,所有权和类方法
我知道任何以alloc
,new
和copy
开头的东西都会给返回对象的调用者所有权。这是否也适用于类方法?我猜测它确实是,最近一次我的单元测试崩溃似乎证实了它。 Apple的高级内存管理编程指南不会说类和实例方法之间是否有区别。
更新 我的意思是它也适用于类方法真的是“逆”。例如,NSDecimalNumber有一个名为+decimalNumberWithDecimal:
的类方法。它似乎返回一个自动释放的对象(如果我明确地释放它,在此之后不久就会发生崩溃)。事后看来,我的问题的答案是显而易见的,因为Apple的指南将new
和alloc
称为所有权授予方法,并且它们都是类方法。抱歉占用你宝贵的时间。 :)
你是指为你生成一个对象的类方法吗? 当然可以。这种模式是obj-c中内存管理的一个关键。即使非苹果框架适用于这种模式。 – yinkou