我在學習Objective-C,遇到了一些對我來說沒有意義的東西。在Storyboard中繪製視圖控制器(VC)時,可以通過在Storyboard ID中輸入一個字符串(單擊故事板中的VC,在實用工具側邊欄,標識檢查器選項卡,標識部分中)來通過代碼調用此VC )使用instantiateViewControllerWithIdentifier方法。通過instantiateViewControllerWithIdentifier將代碼與視圖控制器結合在視圖控制器中
在我的示例中,我在Storyboard中繪製了獨立的UIViewController,並將Storyboard ID設置爲「orderList」。在代碼中,我可以通過這個代碼中調用這個觀點,代碼1:
UIViewController *ordersVC = [self.storyboard instantiateViewControllerWithIdentifier:@"orderList"];
如果我創建的UIViewController的一個子類,稱爲「SCVCOrders」,並插入一些代碼,它會修改它的外觀 - 比如設置標題或改變背景顏色我想我能夠使用此代碼代碼2的繪製VC與代碼SCVCOrders結合:
SCVCOrders *ordersVC = [self.storyboard instantiateViewControllerWithIdentifier:@"orderList"];
但它並不將它們結合起來。它只使用故事板中繪製的內容。接下來,在Storyboard中,我將繪製的VC的類設置爲SCVCOrders。現在Code2給了我看看,但Code1。我的結論是,Storyboard優先於實例化代碼。 Xcode並不在乎我編碼視圖的類是什麼,它只會看這個Storyboard。它是否正確?
我想象一下將我的代碼分層到我在Storyboard中繪製的內容上是有用的。用我的例子,我想把我畫的VC作爲泛型類。並使用Code2在繪製的VC之上分層編碼。或者我們還能如何實現這樣的目標?
實際上,Code1和Code2之間沒有語義上的區別。 – Felix 2013-03-05 16:09:54