我有两个视图控制器,一个是主ViewController,其中在底部放置了容器视图,并且该容器连接到另一个要在主ViewController中显示的NewViewController。
我在ViewController中将JSON数据设置为NewViewController的标签
它给我的错误是致命错误:解开Optional值时意外发现nil
ViewController.swift
let nvc = NewViewController()
func someFunction {
let data = JSON as! NSDictionary
let result = data["result"] as! NSArray
let mytitle = result.valueForKey("name") as! NSArray
let count = mytitle.count - 1
for index in 0...count {
let nameOfPlace = mytitle[index] as! String
print(nameOfPlace) //prints all the names of places
self.nvc.nameLabel.text = nameOfPlace //Thread 1:EXC_BAD_INSTRUCTION
}
NewViewController.swift
@IBOutlet weak var nameLabel: UILabel!
最佳答案
在显示IBOutlet
之前,请勿对其进行任何设置。UIViewController
可能尚未初始化。我建议创建一个字符串属性,在初始化IBOutlet
时进行设置,并在UIViewController
或UILabel
方法中将该文本设置为viewDidLoad
。
希望这对您有所帮助!
关于swift - 将字符串分配给uilabel swift时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37747474/