स्विफ्ट - वैकल्पिक

स्विफ्ट 4 भी पेश करता है Optionalsप्रकार, जो मूल्य की अनुपस्थिति को संभालता है। वैकल्पिक का कहना है कि या तो "एक मूल्य है, और यह x के बराबर है" या "बिल्कुल भी कोई मूल्य नहीं है"।

एक वैकल्पिक अपने आप में एक प्रकार है, वास्तव में स्विफ्ट 4 के नए सुपर-संचालित एनम में से एक है। इसके दो संभावित मूल्य हैं,None तथा Some(T), कहाँ पे T स्विफ्ट 4 में उपलब्ध सही डेटा प्रकार का एक संबद्ध मूल्य है।

यहाँ एक वैकल्पिक पूर्णांक घोषणा है -

var perhapsInt: Int?

यहाँ एक वैकल्पिक स्ट्रिंग घोषणा है -

var perhapsStr: String?

उपरोक्त घोषणा स्पष्ट रूप से इसे शुरू करने के बराबर है nil जिसका कोई मतलब नहीं है -

var perhapsStr: String? = nil

आइए निम्नलिखित उदाहरण लें कि स्विफ्ट 4 में वैकल्पिक कैसे काम करते हैं -

var myString:String? = nil

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

जब हम खेल के मैदान का उपयोग करके उपरोक्त कार्यक्रम चलाते हैं, तो हमें निम्नलिखित परिणाम मिलते हैं -

myString has nil value

वैकल्पिक उपयोग करने के समान हैं nil उद्देश्य-सी में संकेत के साथ, लेकिन वे किसी भी प्रकार के लिए काम करते हैं, न कि केवल कक्षाएं।

मजबूरन अनपरा

यदि आपने एक चर को परिभाषित किया है optional, तो इस चर से मूल्य प्राप्त करने के लिए, आपको करना होगा unwrapयह। यह सिर्फ चर के अंत में एक विस्मयादिबोधक चिह्न लगाने का मतलब है।

आइए एक सरल उदाहरण लेते हैं -

var myString:String?

myString = "Hello, Swift 4!"

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

जब हम खेल के मैदान का उपयोग करके उपरोक्त कार्यक्रम चलाते हैं, तो हमें निम्नलिखित परिणाम मिलते हैं -

Optional("Hello, Swift 4!")

अब चर का सही मान प्राप्त करने के लिए आइंदा लागू करें -

var myString:String?

myString = "Hello, Swift 4!"

if myString != nil {
   print( myString! )
} else {
   print("myString has nil value")
}

जब हम खेल के मैदान का उपयोग करके उपरोक्त कार्यक्रम चलाते हैं, तो हमें निम्नलिखित परिणाम मिलते हैं।

Hello, Swift 4!

स्वत: खोलना

आप प्रश्न चिह्न के बजाय विस्मयादिबोधक चिह्न का उपयोग करके वैकल्पिक चर घोषित कर सकते हैं। ऐसे वैकल्पिक चर स्वचालित रूप से सामने आएंगे और आपको असाइन किए गए मान को प्राप्त करने के लिए चर के अंत में किसी और विस्मयादिबोधक चिह्न का उपयोग करने की आवश्यकता नहीं है। आइए एक सरल उदाहरण लेते हैं -

var myString:String!
myString = "Hello, Swift 4!"

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

जब हम खेल के मैदान का उपयोग करके उपरोक्त कार्यक्रम चलाते हैं, तो हमें निम्नलिखित परिणाम मिलते हैं -

Hello, Swift 4!

वैकल्पिक बंधन

यह पता लगाने के लिए कि क्या किसी विकल्प में एक मान होता है, और यदि ऐसा है, तो उस मूल्य को एक अस्थायी स्थिरांक या चर के रूप में उपलब्ध कराने के लिए वैकल्पिक बाध्यकारी का उपयोग करें।

के लिए एक वैकल्पिक बाध्यकारी if कथन इस प्रकार है -

if let constantName = someOptional {
   statements
}

आइए वैकल्पिक बंधन के उपयोग को समझने के लिए एक सरल उदाहरण लें -

var myString:String?
myString = "Hello, Swift 4!"

if let yourString = myString {
   print("Your string has - \(yourString)")
} else {
   print("Your string does not have a value")
}

जब हम खेल के मैदान का उपयोग करके उपरोक्त कार्यक्रम चलाते हैं, तो हमें निम्नलिखित परिणाम मिलते हैं -

Your string has - Hello, Swift 4!