मैं एक संरचना के साथ कुछ स्थिर चर है कि मैं की जरूरत का उपयोग करने के लिए भर में मेरे app (मैं का उपयोग नहीं किया एक सिंगलटन वर्ग, क्योंकि अभी तक मैं की आवश्यकता हो सकती है कई उदाहरणों में भविष्य में, लेकिन अभी मैं सिर्फ यह एक उदाहरण के लिए).
प्रत्येक स्थैतिक चर असाइन किया गया है एक डिफ़ॉल्ट मान है, लेकिन इन मूल्यों को बदल पाने के जीवनकाल भर में अनुप्रयोग. मैं भी दुकान में इन परिवर्तनों UserDefaults तो वे लगातार हो इनवोकेशन के बीच है, लेकिन मैं अभी भी इन का उपयोग स्थैतिक चर, क्योंकि मैं नहीं चाहता से पढ़ने के लिए UserDefaults हर समय.
अब मैं चाहता हूँ विकल्प को रीसेट करने के लिए इन सभी मूल्यों के लिए उनके मूल डिफ़ॉल्ट मान और मैं नहीं कर सकते हैं बाहर आंकड़ा कैसे यह करने के लिए सही ढंग से. मैं का उपयोग कर सकते हैं एक अलग संरचना है, जो होगा पकड़ डिफ़ॉल्ट मान का उपयोग तो एक समारोह को बदलने के लिए मूल्यों में से एक के लिए अपने संबंधित चर में अन्य. लेकिन यह नहीं लगता है तो सुरुचिपूर्ण और वहाँ होना चाहिए एक अच्छा तरीका यह करना है कि मैं याद कर रहा हूँ.
मैं जोड़ने की कोशिश की एक समारोह के अंदर संरचना है जो निम्न है:
func resetDefaults() {
self = DefaultStruct()
}
संकलक मुझे बताया कि मैं नहीं बदल सकते हैं और बनाने के लिए की जरूरत समारोह परिवर्तनशील. तो मैंने किया. लेकिन फिर कहीं अपने कोड में, में एक और वर्ग है, इस समारोह में नहीं रह गया है की गुंजाइश है । अगर मैं संलग्न:
DefaultStruct.resetDefaults()
यह मुझे देता है, अन्य त्रुटियों, इस तरह के रूप में:
Instance member 'resetDefaults' cannot be used on type 'DefaultStruct'; did you mean to use a value of this type instead?
इसके अलावा, क्योंकि मैं का उपयोग स्थैतिक चर के इस संरचना सीधे है, मैं कभी नहीं initialized इस संरचना है । दूसरे शब्दों में, मैं नहीं है इस तरह के एक संरचना के नाम से है कि मैं का उपयोग कर सकते हैं कहीं और. या शायद मैं गलत कर रहा हूँ यहाँ, और मैं कर रहा हूँ कुछ याद आ रही???
तुम्हारी मदद की बहुत सराहना की जाएगी. या तो मैं याद कर रहा हूँ कुछ बहुत ही बुनियादी या मैं बस का उपयोग एक अलग संरचना के साथ डिफ़ॉल्ट मान के रूप में मैंने पहले कहा.
धन्यवाद!