調用一個構造函數假設您有以下兩個構造函數:Objective-C的 - 從另一個
- (id)initWithTitle:(NSString *)title;
- (id)initWithTitle:(NSString *)title page:(NSString *)page;
第二個構造是從第一沒有什麼不同,不同之處在於它樹立成員變量「頁」。
由於它基本上必須做同樣的事情,有沒有辦法從第二個調用第一個來減少代碼重複,或者您是否需要設置第三個方法來執行常見任務?
我談論一些與此類似,但我懷疑這會工作:
- (id)initWithTitle:(NSString *)_title {
if(self = [super init]) {
self.title = _title;
}
return self;
}
- (id)initWithTitle:(NSString *)_title page:(NSString *)_page {
if(self = [self initWithTitle:_title]) {
self.page = _page;
}
return self;
}
@phunehehe有一個更好的解決方案,但是你發佈的*將*工作。 – 2010-05-15 14:30:37
呵呵,我猜想現在我想到了。謝謝 – synic 2010-05-15 14:54:55
越快放棄C++術語並開始使用Objective-C術語,文檔越早開始有意義。 Objective-C沒有構造函數或成員變量。它有初始化器和實例變量。 – bbum 2010-05-15 15:56:03