2015-01-15 68 views
0

我在Swift中創建了一個新項目,並向故事板中添加了第二個ViewController,添加了一個類文件並將其鏈接起來。現在,我試圖訪問新的VC的看法在初始VC:ViewController.Type沒有名爲view的成員

let settingsView = SettingsViewController.view 

但它返回的錯誤:

SettingsViewController.Type does not have a member named view 

這是爲什麼?視圖控制器如何看不到視圖?該視圖與Connections Inspector中的VC正確連接。

+0

向我們展示'SettingsViewController'的類定義。 – 2015-01-15 18:06:12

+0

這只是從UIViewController派生的類的默認代碼。 – user3573256 2015-01-15 18:08:46

+0

進口的UIKit 類SettingsViewController:UIViewController的{ 覆蓋FUNC viewDidLoad中(){ super.viewDidLoad() //在載入視圖後的任何額外的設置。 } override func didReceiveMemoryWarning(){ super.didReceiveMemoryWarning() //處理任何可以重新創建的資源。 } } – user3573256 2015-01-15 18:09:07

回答

2

這是因爲您嘗試在類型本身上訪問view,但不在實例上。這意味着你必須先實例化視圖控制器之後,你可以訪問它的成員,即(僞SWIFT代碼)

let settingsVc = SettingsViewController() 
addNewVcToHierarchy(settingsVc) 

let settingsView = settingsVc.view 

但是,通常你不想直接從視圖控制器訪問視圖它不屬於它,而是將數據推入視圖控制器(例如,在一個segue上)。

+0

謝謝!我必須找出更多關於將數據推送到視圖控制器的正確方法。 – user3573256 2015-01-15 18:45:06

+0

通常這是在'prepareForSegue'中完成的,或者你自己在'AppDelegate'中構建視圖控制器堆棧並直接指定它們的屬性。 – 2015-01-15 18:46:24

相關問題