यहां के कई समाधान मान्य हैं। फिर भी, मुझे लगता है कि वे गलत समस्या को हल करते हैं।
आमतौर पर, इस तरह के कोड का उपयोग यह जांचने के लिए किया जाता है कि क्या मूल्य निर्धारित किया गया है, इसलिए किसी अन्य डिफ़ॉल्ट मान का उपयोग किया जा सकता है:
if isKeyPresentInUserDefaults(key: "username") {
return UserDefaults.standard.string(forKey: "username")
} else {
return "No username was set"
}
यदि कोई कुंजी सेट है या नहीं तो आपको परवाह नहीं करनी चाहिए। डिफ़ॉल्ट मान रखने के लिए कहीं अधिक सुरुचिपूर्ण दृष्टिकोण है UserDefaults
:
UserDefault.standard.register(defaults: ["username": "No username was set"])
यदि आप इस कोड को ऐप लॉन्च पर चलाते हैं, तो बाद में कॉल करने UserDefaults.standard.string(forKey: "username")
पर डिफ़ॉल्ट मान वापस आ जाएगा "No username was set"
यदि कुंजी के लिए कोई मूल्य अभी तक निर्धारित नहीं किया गया था।