Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在self.storyboard?.instanceeviewController中,为什么self.storyboard是可选的?_Ios_Swift - Fatal编程技术网

Ios 在self.storyboard?.instanceeviewController中,为什么self.storyboard是可选的?

Ios 在self.storyboard?.instanceeviewController中,为什么self.storyboard是可选的?,ios,swift,Ios,Swift,我是swift和xcode的新手,在我学习页面转换时,有一些东西我不明白 guard let dvc = self.storyboard?.instantiateViewController() self.navigationController?.pushViewController 在上面的代码中,为什么self.storyboard和self.navigationController是可选的 guard let dvc = self.storyboard?.instantiateView

我是swift和xcode的新手,在我学习页面转换时,有一些东西我不明白

guard let dvc = self.storyboard?.instantiateViewController()
self.navigationController?.pushViewController
在上面的代码中,为什么self.storyboard和self.navigationController是可选的

guard let dvc = self.storyboard?.instantiateViewController(identifier:"ViewControoler") as? ViewController else {
   return
}

另外,我不理解as的角色?

情节提要是可选的,因为它可以以另一种方式实例化view controller,例如从xib或以编程方式;
navigationController
是可选的,因为显然不可能有一个;
as
用于类型转换

所有这些答案都可以在文档中找到,首先查看会快得多