У мене є табличний перегляд, який під час завантаження кожна комірка, можливо, може повернути NSError, який я вибрав для відображення в UIAlertController. Проблема в тому, що я отримую цю помилку в консолі, якщо повертається кілька помилок.
Попередження: Спроба представити UIAlertController: 0x14e64cb00 у MessagesMasterVC: 0x14e53d800, яка вже представлена (null)
В ідеалі я б хотів вирішити це в моєму методі розширення 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)
}
}