Swift में मेमोरी प्रबंधन के लिए weak और unowned रेफरेंस में क्या अंतर है?
सभी को नमस्ते! मैं Swift सीख रहा हूँ और ARC (Automatic Reference Counting) को समझने की कोशिश कर रहा हूँ। मैंने डॉक्यूमेंटेशन पढ़ा, लेकिन weak और unowned रेफरेंस के बीच का अंतर समझ नहीं पा रहा हूँ। दोनों ही रेफरेंस काउंट नहीं बढ़ाते, लेकिन फिर अंतर क्या है?\n\nमेरे पास एक उदाहरण है। मैं एक सरल एप्लिकेशन बना रहा हूँ जिसमें यूज़र प्रोफाइल और उसका अवतार है। अगर यूज़र स्क्रीन से चला जाता है, तो मैं चाहता हूँ कि Profile और Avatar ऑब्जेक्ट मेमोरी से रिलीज़ हो जाएं। लेकिन मुझे स्ट्रॉन्ग रेफरेंस साइकिल के कारण मेमोरी लीक हो रही है।\n\nयहाँ मेरा सरलीकृत कोड है:\n\n```swift\nclass Profile {\n let name: String\n var avatar: Avatar?\n \n init(name: String) {\n self.name = name\n print("Profile \\(name) created")\n }\n \n deinit {\n print("Profile \\(name) deallocated")\n }\n}\n\nclass Avata