当我将一个或多个textField添加到UIAlertController中时,应用程序冻结,一旦我删除了textFields,它就可以正常工作。
Xcode 11 beta 5 在 Mojave 10.14.6 上运行
@IBAction func addRecipeBtnHandler(_ sender: Any) {
let alert = UIAlertController(title: "Add new recipe", message: nil, preferredStyle: .alert)
alert.addTextField { textField in
textField.placeholder = "title"
}
alert.addTextField { textField in
textField.placeholder = "description"
}
let action = UIAlertAction(title: "Add", style: .default) { alertAction in
let title = alert.textFields?.first?.text ?? ""
let description = alert.textFields?.last?.text ?? ""
let recipe = Recipe(title: title, description: description)
self.recipes.append(recipe)
self.updateSnapshot()
}
alert.addAction(action)
DispatchQueue.main.async {
self.present(alert, animated: true)
}
}
我在beta 6上遇到了同样的问题。切换到新的模拟器(即我以前从未使用过的设备(暂时解决了这个问题。对我来说,似乎是Xcode中的一个错误。 硬件>擦除所有内容和设置也会暂时修复模拟器一段时间。该错误在一段时间后再次出现。