【发布时间】:2015-05-05 09:26:14
【问题描述】:
我想隐藏我的 IBOutlet。但是,将文本设置为空字符串效果很好,但是当我直接访问我的 IBOutlet 时,我不断收到“在展开可选值时意外发现 nil”的错误。
我尝试将我的 IBOutlet 设置为本地变量,但它也给出了错误。我准备了一些代码 sn-ps 删除了不相关的行,只是为了更好地暴露我的问题而不提供太多代码:
PageContentViewController
@IBOutlet weak var LabelTop: UILabel!
var Test:UILabel!
override func viewDidLoad() {
super.viewDidLoad()
self.LabelTop = self.Test
}
PageViewController
func viewControllerAtIndex(index: Int)-> PageContentViewController?{
if((self.pageTitles.count == 0) || (index >= self.pageTitles.count))
{
return nil
}
var pageContentViewController: PageContentViewController = self.storyboard!.instantiateViewControllerWithIdentifier("PageContentViewController") as! PageContentViewController
pageContentViewController.imageFile = self.pageImages[index]
pageContentViewController.titleText = self.pageTitles[index]
pageContentViewController.pageIndex = index
if(index == 2){
pageContentViewController.Test.hidden = true
}
else {
pageContentViewController.Test.hidden = false
}
return pageContentViewController
}
在 if 语句中尝试访问 UIlabel 时程序崩溃。显然,正如我之前所说,我可以轻松访问 text 属性并将其设置为空字符串,但我想知道为什么 IBOutlet 无法通过这种方式访问。
提前致谢!
【问题讨论】: