Saya memiliki tampilan tabel yang, ketika dimuat, setiap sel mungkin dapat mengembalikan NSError, yang telah saya pilih untuk ditampilkan di UIAlertController. Masalahnya adalah saya mendapatkan kesalahan ini di konsol jika beberapa kesalahan dikembalikan.
Peringatan: Mencoba menampilkan UIAlertController: 0x14e64cb00 di MessagesMasterVC: 0x14e53d800 yang sudah ada (null)
Idealnya, saya idealnya ingin menangani ini dalam metode ekstensi UIAlertController saya.
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
}
Berdasarkan jawaban matt, saya mengubah ekstensi ke ekstensi UIViewController, jauh lebih bersih dan menghemat banyak kode 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)
}
}