Swift में संरचनाओं के लिए memberwise इनिशियलाइज़र को डिफ़ॉल्ट रूप से सार्वजनिक कैसे बनाएं?
सभी को नमस्ते! मैंने Swift सीखना शुरू किया है और संरचनाओं (struct) के साथ काम करते समय एक समस्या का सामना किया। डिफ़ॉल्ट रूप से, Swift संरचनाओं के लिए memberwise इनिशियलाइज़र (तत्व-दर-तत्व इनिशियलाइज़र) उत्पन्न करता है, जो सभी गुणों के लिए मान पास करके एक इंस्टेंस बनाने की अनुमति देता है। लेकिन अगर मैं `public` एक्सेस लेवल वाली संरचना घोषित करता हूं, तो memberwise इनिशियलाइज़र सार्वजनिक (public) के बजाय आंतरिक (internal) हो जाता है। इस वजह से, मैं संरचना का उपयोग किसी अन्य मॉड्यूल से नहीं कर सकता।
यहाँ एक उदाहरण है:
```swift
// ModuleA.swift
public struct User {
public let name: String
public let age: Int
// memberwise इनिशियलाइज़र स्पष्ट रूप से घोषित नहीं किया गया है
}
// ModuleB.swift (दूसरा मॉड्यूल)
let user = User(name: "Alice", age: 30) // त्रुटि: 'User' को memberwise इनिशियलाइज़र से इनिशियलाइज़ नहीं किया जा सकता
```
मैं