Tôi có một dạng xem bảng, khi được tải, mỗi ô có thể trả về một NSError, mà tôi đã chọn để hiển thị trong UIAlertController. Vấn đề là tôi gặp lỗi này trong bảng điều khiển nếu trả về nhiều lỗi.
Cảnh báo: Cố gắng hiển thị UIAlertController: 0x14e64cb00 trên MessagesMasterVC: 0x14e53d800 đã hiển thị (null)
Lý tưởng nhất là tôi muốn xử lý điều này trong phương thức mở rộng UIAlertController của mình.
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
}
Dựa trên câu trả lời của matt, tôi đã thay đổi tiện ích mở rộng thành tiện ích mở rộng UIViewController, tiện ích mở rộng này gọn gàng hơn nhiều và tiết kiệm rất nhiều mã 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)
}
}