मैं स्विफ्ट 3 सिंटैक्स के साथ एक कस्टम त्रुटि प्रकार को परिभाषित कर रहा हूं और मैं उस त्रुटि का उपयोगकर्ता-अनुकूल विवरण प्रदान करना चाहता हूं जो ऑब्जेक्ट की localizedDescription
संपत्ति द्वारा वापस किया जाता है Error
। मैं यह कैसे कर सकता हूं?
public enum MyError: Error {
case customError
var localizedDescription: String {
switch self {
case .customError:
return NSLocalizedString("A user-friendly description of the error.", comment: "My error")
}
}
}
let error: Error = MyError.customError
error.localizedDescription
// "The operation couldn’t be completed. (MyError error 0.)"
क्या localizedDescription
मेरे कस्टम त्रुटि विवरण ("त्रुटि के उपयोगकर्ता के अनुकूल विवरण") को वापस करने का कोई तरीका है ? ध्यान दें कि यहाँ त्रुटि ऑब्जेक्ट प्रकार का है Error
और नहीं MyError
। मैं निश्चित रूप से, MyError को ऑब्जेक्ट कास्ट कर सकता हूं
(error as? MyError)?.localizedDescription
लेकिन क्या यह मेरी त्रुटि प्रकार के लिए कास्टिंग के बिना काम करने का एक तरीका है?
MyError
एकError
पहले और के साथ इसे विस्तारLocalizedError
बाद में? यदि आपने इसेLocalizedError
पहली जगह में बनाया है तो क्या कोई अंतर है?