स्विफ्ट में, मैं एक स्विच स्टेटमेंट में एक केस कैसे लिख सकता हूं जो किसी वैकल्पिक की सामग्री के खिलाफ स्विच किए जा रहे मूल्य का परीक्षण करता है , यदि वैकल्पिक हो तो मामले पर लंघन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
}
अगर मैं सिर्फ यह वास्तव में इस तरह लिखते हैं, संकलक शिकायत है कि someOptionalunwrapped नहीं है, लेकिन मैं स्पष्ट रूप से इसे खोलना जोड़कर यदि !अंत करने के लिए, मैं निश्चित रूप से एक क्रम त्रुटि मिलती है किसी भी समय someOptionalहोता है nil। ?इसके बजाय जोड़ने !से मुझे कुछ समझ में आएगा (वैकल्पिक जंजीर की भावना में, मुझे लगता है), लेकिन संकलक त्रुटि को दूर नहीं करता है (यानी वास्तव में वैकल्पिक को खोलना नहीं है)।