如何在 iOS 8/Swift 中构建自定义视图控制器的呈现?变量初始化被证明是困难的
Posted
技术标签:
【中文标题】如何在 iOS 8/Swift 中构建自定义视图控制器的呈现?变量初始化被证明是困难的【英文标题】:How do I structure the presentation of a custom view controller in iOS 8/Swift? Variable initialization is proving difficult 【发布时间】:2014-06-30 18:42:46 【问题描述】:我想介绍一个自定义的UIViewController
子类。我的 Storyboard 中一个视图控制器中的一个按钮已连接以呈现此自定义视图控制器。
在代码中,我想为正在呈现的新视图控制器设置一些@IBOutlet。我习惯在prepareForSegue
中这样做,抓取destinationViewController
,然后设置一些标签和图像视图等等。
但现在在 Swift 和 ios 8 中,我不断得到它
无法打开 Optional.none
这让我觉得在 iOS 8 中,当 prepareForSegue
被称为视图控制器的子视图时,视图控制器的子视图还没有全部创建?在这一点上,我无法与网点混淆吗?我应该如何设置它们?我尝试让这些多余的临时变量保存它们的数据(这似乎是糟糕的设计和冗余),然后在viewDidLoad
中设置实际的出口,但我得到了同样的错误,我的标签是viewDidLoad
中的nil
。
我应该如何设置这些?
【问题讨论】:
你能在prepareForSegue
中添加你正在使用的代码吗?
【参考方案1】:
这是一个关于如何使用 prepareForSegue
函数的示例:
if segue.identifier == "yourIdentifier"
let yourViewController = segue.destinationViewController as YourDestinationViewController
yourViewController.receivedArray = listArray
如果还不够,请告诉我并使用您现在使用的代码编辑您的问题。
【讨论】:
以上是关于如何在 iOS 8/Swift 中构建自定义视图控制器的呈现?变量初始化被证明是困难的的主要内容,如果未能解决你的问题,请参考以下文章
更改自定义 UIButton 的 TitleColor (iOS 8 + swift)
如何:在iOS中使用StackView View从XIB自我调整自定义视图