簡體   English   中英

如何在iPhone上初始化NSObject的子類?

[英]How to initialize an NSObject's subclass on iPhone?

我想在類中編寫一些方法,以便其他類可以使用[instance methodName:Parameter]調用這些方法。

如果該類是UIViewController的子類,我可以使用initWithNibName來初始化它。 但我想在NSObject的子類中編寫方法,我該如何初始化它?

iphony是正確的,但他或她並沒有說你需要自己編寫init方法。 你的init方法通常應該是這樣的:

- (id) init
    {
    if (self = [super init])
         {
         myMember1 = 0; // do your own initialisation here
         myMember2 = 0;
         }
    return self;
    }

雖然蘋果文檔

NSObject類中定義的init方法不進行初始化; 它只是回歸自我。

一個人可能只想寫作

- (id) init
  {
    myMember1 = 0; // do your own initialisation here
    myMember2 = 0;
    return self;
  }

這是錯誤的,不遵循文檔中明確說明的內容:

在此(init)方法的自定義實現中,您必須調用super的指定初始化程序,然后初始化並返回新對象。

必須。 不應該,也不應該,等等。

您不應該假設NSObject的init在將來不會改變; 也不是自定義類派生的超類。

我發現這可行:

TheClass *newObject = [[TheClass alloc] init];
//do something here
[newObject release];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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