2014-11-02 88 views
1

我想創建一個與現有非常相似的新UIViewController。我嘗試複製這些文件(old.m,old.h和old.xib)並重命名它們(new.m等)。當添加到項目中時,結果編譯得很好,但是我遇到了問題initWithNibName的實現;如何通過複製現有的UIViewController來創建新的UIViewController?

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 
     // Custom initialization 
     someCustomWork(); // Not important for the problem, but the reason for this function! 
    } 
    return self; 
} 

到超級initWithNibName調用總是返回(空),其中原始,會返回一個有效的對象。

那麼,我在這裏錯過了什麼?我怎樣才能最好通過複製現有的文件創建一個新的UIViewController?

謝謝!

回答

0

遺產。創建一個新的空白VC並在.h文件中:

#import "OldViewController.h" 

@interface NewViewController : OldViewController 

這將使newVC與舊的具有相同的功能和屬性。然後重寫所有必須在新的不同之處。

不確定xib文件,從未與故事板一起工作。

+0

其實,我已經有了一個「基礎」VC,而這個VC是從我的例子中得來的。我想要做的是創建另一個VC來源於相同的「基礎」VC。問題是Xcode有時讓我困惑。今天,我試着直接創建一個新的VC,從基地派生出來,並且我得到了同樣的錯誤。我似乎無法創造一個新的VC! – Bob 2014-11-03 22:09:37

相關問題