Ios 获取错误的EXC指令和可选。无swift
我现在很困惑 我试图通过在secondView控制器上的文本框中输入文本并按下按钮,在一个viewController中设置标签。但是,当我这样做时,在尝试设置标签时,我得到了一个可选的.None错误-但是文本被传回,因为我可以从第一个viewController打印出来 我只是出于测试目的使用“HI”(节省时间)。 很明显,我在这里遗漏了很多代码——如果您还需要什么,请说出来 第一视图控制器:Ios 获取错误的EXC指令和可选。无swift,ios,xcode,swift,viewcontroller,Ios,Xcode,Swift,Viewcontroller,我现在很困惑 我试图通过在secondView控制器上的文本框中输入文本并按下按钮,在一个viewController中设置标签。但是,当我这样做时,在尝试设置标签时,我得到了一个可选的.None错误-但是文本被传回,因为我可以从第一个viewController打印出来 我只是出于测试目的使用“HI”(节省时间)。 很明显,我在这里遗漏了很多代码——如果您还需要什么,请说出来 第一视图控制器: @IBAction func btnOptions(sender : AnyObject) {
@IBAction func btnOptions(sender : AnyObject) {
var view: SecondViewController = SecondViewController()
self.presentViewController(view, animated: true, completion: nil)
}
func setLabel(text: String)
{
println(text)
lblTester.text = text
}
@IBAction func btnTester(sender : AnyObject) {
var first: ViewController = ViewController()
first.setLabel("HI")
self.dismissModalViewControllerAnimated(true)
}
第二视图控制器:
@IBAction func btnOptions(sender : AnyObject) {
var view: SecondViewController = SecondViewController()
self.presentViewController(view, animated: true, completion: nil)
}
func setLabel(text: String)
{
println(text)
lblTester.text = text
}
@IBAction func btnTester(sender : AnyObject) {
var first: ViewController = ViewController()
first.setLabel("HI")
self.dismissModalViewControllerAnimated(true)
}
lblTester是一个插座,因此在加载视图之前,它是零(可选值),或者您没有初始化它,因此您需要在设置值之前检查lblTester是否存在,即
func setLabel(文本:字符串)
{
println(文本)
如果let label=lblTester{
lblTester.text=文本
}
}
您能演示如何设置lblTester
?我的猜测是,它是零。它确实是零。但如果我尝试设置文本,它肯定会改变吗?在我的viewDidLoad方法中,它将文本设置得很好(作为测试进行)@IBOutlet var lblTester:UILabel=nil
Ah,从而消除了错误消息-谢谢!出于某种原因,我认为应该在调用setLabel
之前先初始化。我知道现在发生了什么。但是,您现在如何设置标签?由于函数都在初始化之前运行。。。我将设置一些类似的变量,一旦我让它工作,您可以有一个单独的模型来存储您的值,同时设置值检查isViewLoaded,如果视图已加载set text value,当视图即将显示set text value from model object时。