我在Swift中创建了一个新项目,并在故事板中添加了第二个ViewController,添加了一个类文件并将其链接起来。现在我尝试在初始vc中访问新vc的视图:
let settingsView = SettingsViewController.view
但它返回错误:
SettingsViewController.Type does not have a member named view
为什么?视图控制器怎么没有视图?视图已正确连接到Connections Inspector中的VC。
答案 0 :(得分:2)
这是因为您尝试访问类型本身的view
,而不是实例。这意味着你必须首先实例化视图控制器,之后你可以访问它的成员,即(伪swift代码)
let settingsVc = SettingsViewController()
addNewVcToHierarchy(settingsVc)
let settingsView = settingsVc.view
但是,通常您不希望直接从不属于它的视图控制器访问视图,而是将数据推送到视图控制器中(例如,在segue上)。