[英]Swift 2 - sharedInstance function return nil
我已经将ViewController()
设置为sharedInstance
。 当我尝试从另一个视图触发函数时,共享函数返回
致命错误:解开Optional值时意外发现nil
我不明白为什么使用sharedInstance
给我一个错误,如果我从`ViewController'内部调用该函数,它将很好地工作
class ViewController: UIViewController {
static let sharedInstance = ViewController()
@IBOutlet weak var playBtn: UIButton!
///
///
func audioPlayerIsNotPlaying() {
print("stop") //runs
playBtn.selected = false //fatal error: nil
playBtn.setImage(UIImage(named: "playBtn.png"), forState: UIControlState.Normal ) //fatal error: nil
}
}
第二视图控制器:
ViewController.sharedInstance.audioPlayerIsNotPlaying()
为什么playBtn
按钮对象返回nil
?
以编程方式创建的视图将没有设置出口。 您需要从笔尖或情节提要中创建实例。
为了连接视图控制器的插座,必须通过情节提要(或NIB)实例化它。 例如,如果您要尝试对视图控制器进行static
引用,则可以执行以下操作:
static let sharedInstance = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("identifier")
否则,出口将nil
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.