मेरे पास एक टेबलव्यू है, जिसे जब लोड किया जाता है, तो प्रत्येक सेल संभवतः एक NSError को वापस कर सकता है, जिसे मैंने UIAlertController में प्रदर्शित करने के लिए चुना है। समस्या यह है कि मुझे यह त्रुटि कंसोल में मिलती है यदि एकाधिक त्रुटियां वापस आती हैं।
चेतावनी: UIAlertController: 0x14e64cb00 पर प्रस्तुत करने का प्रयास करें MessageMasterVC: 0x14e53d800 जो पहले से मौजूद है (अशक्त)
आदर्श रूप में, मैं आदर्श रूप से अपने 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
}
मैट के जवाब के आधार पर, मैंने एक्सटेंशन को एक UIViewController एक्सटेंशन में बदल दिया, जो कि बहुत अधिक क्लीनर है और बहुत सारे वर्तमान व्यूकोड कोड को बचाता है।
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)
}
}