我有一个tableview,在加载时,每个单元都可能返回一个NSError,我选择将其显示在UIAlertController中。问题是如果返回多个错误,我会在控制台中收到此错误。
警告:尝试在已显示的MessagesMasterVC:0x14e53d800上呈现UIAlertController:0x14e64cb00(空)
理想情况下,我希望在我的UIAlertController扩展方法中进行处理。
class func simpleAlertWithMessage(message: String!) -> UIAlertController {
let alertController = UIAlertController(title: nil, message: message, preferredStyle: UIAlertControllerStyle.Alert)
let cancel = UIAlertAction(title: "Ok", style: .Cancel, handler: nil)
alertController.addAction(cancel)
return alertController
}
根据matt的回答,我将扩展名更改为UIViewController扩展名,它更加简洁,并节省了许多presentViewController代码。
func showSimpleAlertWithMessage(message: String!) {
let alertController = UIAlertController(title: nil, message: message, preferredStyle: UIAlertControllerStyle.Alert)
let cancel = UIAlertAction(title: "Ok", style: .Cancel, handler: nil)
alertController.addAction(cancel)
if self.presentedViewController == nil {
self.presentViewController(alertController, animated: true, completion: nil)
}
}