[英]How to merge +alloc and -init?
我正在為NSObject的子類編寫一個方法,它合並了常見的NSObject方法“+ alloc”和“-init”。 這是為了在創建類的實例時節省時間。
(這個子類也是一個抽象類。它類似於子類化NSObject的替代,因此該方法必須與子類兼容。)
對於方法“make”,這是編寫它的最佳方式:
+(id)make
{
id newObject = [[self.class alloc] init];
return newObject;
}
如果有更好的方法,它會是什么?
謝謝
更好的方法是使用+new
,已經存在:)
你可以使用[self.class new]
,它與調用[[self.class alloc] init]
我發現new
作品非常好。
SomeObject *object = [SomeObject new];
為了簡單起見:
id newObject = [[self alloc] init];
你可以用以下代替它:
id newObject = [self new];
但請記住,在許多已定義的對象中,您可以使用其他初始值設定項,然后您需要使用:
...alloc] init...]
結構體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.