मैं स्विफ्ट 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पहली जगह में बनाया है तो क्या कोई अंतर है?