में स्पष्ट रूप से आलसी स्थिर सदस्य मैंने अभी देखा है कि static
स्विफ्ट structs
के सदस्य निहित lazy
हैं।स्विफ्ट
उदाहरण के लिए, यह केवल एक बार init
कॉल करेगा:
class Baz {
init(){
print("initializing a Baz")
}
}
struct Foo {
static let bar = Baz()
}
var z = Foo.bar
z = Foo.bar
इस के पीछे तर्क क्या है?
यदि मुझे विपरीत व्यवहार चाहिए तो क्या होगा?
वैश्विक चर के लिए पसंद के लिए कुछ तर्क यहां आलसी हैं: https://developer.apple.com/swift/blog/?id=7। स्टार्टिक सदस्यों के पास संभवतः समान तर्क होगा, स्टार्टअप प्रारंभिकरण के लिए भी कम कारण को छोड़कर (मेरा मतलब है, यदि आपने कभी भी एक प्रकार का उपयोग नहीं किया है, तो इसे सिर्फ आयात के माध्यम से लाया गया था? क्या सभी स्थैतिक चर अभी भी उपयोग किए बिना प्रारंभ किए जाने चाहिए ?) –