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