class AlertViewController: UITableViewController{
@IBOutlet weak var alertText: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
alertText.text = "alert"
}
}
所以我想在AppDelegate.swift
中获取文本值,我有这个:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let alertText = AlertViewController().alertText
print(alertText.text)
return true
}
我收到了这个错误
致命错误:在展开Optional值时意外发现nil (LLDB)
答案 0 :(得分:-1)
@IBOutlet weak var alertText: UITextView!
了解如何将其实例化为“弱”变量。这意味着除非需要,否则不会实例化。正如Ro22e0所说,我不确定你为什么要在appDelegate中调用它,但要确保实例化类对象。 textField.text值也是可选的,因此在尝试打印之前检查nil
if let alertText = AlertViewController.text {
print(alertText)
}
答案 1 :(得分:-1)
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(true)
print("text:", alertText.text)
}
AppDelegate在ViewController之前启动