2011-09-07 41 views
1

在我的應用我有一個UIViewController和一個名爲iOS版 - 初始化UIViewControllers

  • HomeViewController
  • HomeView

他們都正在從筆尖加載和筆尖文件UIView被命名爲相同的類名 當我嘗試初始化我的ViewController:

HomeViewController *h = [[HomeViewController alloc] init]; 

它試圖用筆尖文件我UIView,而不是筆尖爲我的ViewController,如果我加載使用initWithNibNamed它工作正常加載的viewController。

這是iOS中我從來沒有過這樣的問題的錯誤。我反對的iOS 5測試版5

回答

2

運行這是你命名你的觀點和ViewController這是造成問題的辦法。從蘋果公司的documentation(看看nibName屬性)

  1. 如果視圖控制器類名用字「控制器」作爲結束,在MyViewController ,它會尋找一個筆尖文件名稱的 類相匹配名稱沒有「控制器」一詞,就像在MyView.nib中一樣。

  2. 它尋找名稱與視圖控制器 類的名稱相匹配的nib文件。例如,如果類名是MyViewController,它看起來 的MyViewController.nib文件。

如果更改了HomeView到MyHomeView例如,你的代碼將重新開始工作。但使用initWithNibName:方法是初始化的ViewController

推薦的方式