簡體   English   中英

如何合並+ alloc和-init?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM