presentViewController 不工作
Posted
技术标签:
【中文标题】presentViewController 不工作【英文标题】:presentViewController not working 【发布时间】:2016-04-16 16:02:27 【问题描述】:我有这段代码用于显示警报:
func arraysize() -> [Int]?
let title = "Your file is empty"
let message = "Please refer to the instructions"
let okText = "OK"
let alert = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
let okayButton = UIAlertAction(title: okText, style: UIAlertActionStyle.Cancel, handler: nil)
alert.addAction(okayButton)
do
....
if array?.isEmpty == true
print("the array is empty")
presentViewController(alert, animated: true, completion: nil)
catch let error
print(error)
return array
但是我的警报没有显示。它曾经显示,虽然我没有更改任何代码,但它停止为我工作。有人可以帮我理解我做错了什么吗?
附:我也收到了这个警告:
[16632:713433] 警告:尝试呈现其视图不在窗口层次结构中的 UIAlertController!
会是这样吗?
【问题讨论】:
是否打印:“数组为空”? @khuong291 是的,确实如此,然后继续跳到我班上的其他代码。 是的,因为这里没有循环,所以你使用“do-try-catch” @khuong291 正确,但它仍然应该显示警报对吗? 阅读警告。这是关键部分。现在搜索那个错误。一直是discussed here many times before。 【参考方案1】:正如@rmaddy 在 cmets 中解释的那样,我的问题是我试图从控制器显示一个从未出现在实际屏幕上的警报。我通过从屏幕上显示的控制器调用此方法来解决此问题,并且它起作用了。
【讨论】:
以上是关于presentViewController 不工作的主要内容,如果未能解决你的问题,请参考以下文章
presentViewController 没有按我的意愿工作
presentViewController 在 iPad 上崩溃,但在 iPhone 上不崩溃