यदि हमें पहले से ही यकीन है कि मान मौजूद है, तो Implicitly Unwrapped Optionals की आवश्यकता क्यों है?
नमस्ते! मैंने अभी-अभी Swift सीखना शुरू किया है और एक बात समझ नहीं पा रहा हूँ। दस्तावेज़ीकरण में कहा गया है कि Implicitly Unwrapped Optionals (IUO) वे optionals हैं जो उपयोग करने पर स्वचालित रूप से unwrap हो जाते हैं, यदि हमें यकीन है कि उनमें निश्चित रूप से मान है। लेकिन फिर इनकी आवश्यकता क्यों है? जब हमें यकीन है कि मान है, तो सामान्य प्रकार (String, Int आदि) का उपयोग क्यों न करें?
यहाँ एक उदाहरण है जो मुझे किताब में मिला:
```swift
let assumedString: String! = "Hello, world!"
let implicitString: String = assumedString // स्वचालित रूप से unwrap होता है
```
लेकिन अगर मुझे यकीन है कि वहाँ एक string है, तो सीधे क्यों न लिखूँ:
```swift
let assumedString: String = "Hello, world!"
```
इसमें क्या अंतर है? मैंने सुना है कि IUO का उपयोग IBOutlet और कुछ अन्य मामलों में किया जाता है, लेकिन मुझे समझ नहीं आता कि `if let` या `guard let` के साथ सामान्य optionals का उपयोग क्यों नहीं किया जा सकता। क्या यह अधिक सुरक्षित नहीं है? क्या आप वास्तविक उदाहरणों के साथ समझा सकते हैं कि IUO कब वास्तव में आवश्यक हैं और क्यों?