स्विफ्ट में, मैं एक स्विच स्टेटमेंट में एक केस कैसे लिख सकता हूं जो किसी वैकल्पिक की सामग्री के खिलाफ स्विच किए जा रहे मूल्य का परीक्षण करता है , यदि वैकल्पिक हो तो मामले पर लंघनnil
?
यहां बताया गया है कि मैं इसकी कल्पना कर सकता हूं:
let someValue = 5
let someOptional: Int? = nil
switch someValue {
case someOptional:
// someOptional is non-nil, and someValue equals the unwrapped contents of someOptional
default:
// either, someOptional is nil, or someOptional is non-nil but someValue does not equal the unwrapped contents of someOptional
}
अगर मैं सिर्फ यह वास्तव में इस तरह लिखते हैं, संकलक शिकायत है कि someOptional
unwrapped नहीं है, लेकिन मैं स्पष्ट रूप से इसे खोलना जोड़कर यदि !
अंत करने के लिए, मैं निश्चित रूप से एक क्रम त्रुटि मिलती है किसी भी समय someOptional
होता है nil
। ?
इसके बजाय जोड़ने !
से मुझे कुछ समझ में आएगा (वैकल्पिक जंजीर की भावना में, मुझे लगता है), लेकिन संकलक त्रुटि को दूर नहीं करता है (यानी वास्तव में वैकल्पिक को खोलना नहीं है)।