2013-07-24 35 views
0
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil 
{ 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 

     fetched = NO; 
     self.title = @"Nearby"; 
     // Custom initialization 

     liked = NO; 

     categories = [[NSArray alloc] init]; 
     fundings = [[NSArray alloc] init]; 
     stages = [[NSArray alloc] init]; 
    } 


    return self; 
} 

我使用上面的代碼。我在初始化initWithNibName函數中的所有變量時出錯了嗎?那是正確的地方嗎?使用initWithNibName初始化視圖控制器

+0

您是否遇到實際問題? – Wain

回答

0

您可能不會遇到問題,但是您也可以使用ViewController與純粹的init,在這種情況下NIB未加載並且您的初始化也不會被調用。另一個用於創建init的地方是viewDidLoad,它只在init之後被調用。

0

你可以在init方法,這很好。您也可以在viewDidLoad方法中執行此操作(或部分操作)。當你的視圖實際上準備好顯示時,(通常)會被調用,所以你需要一切設置。另一方面可以預先調用init。沒有一個硬性和快速的答案,這取決於你設置的項目是什麼,以及當視圖不顯示時它們是否可以卸載。對於更新版本的iOS來說,無論如何,這個視圖一般都不會被卸載。您確實需要閱讀有關視圖和控制器生命週期,並決定何時創建和銷燬屬性。

相關問題