Avatar ·

क्या Swift में क्लोजर में हमेशा [unowned self] का उपयोग करना आवश्यक है?

सभी को नमस्कार! मैंने Swift सीखना शुरू किया है और क्लोजर में मेमोरी प्रबंधन की समस्या का सामना किया। मैंने Stack Overflow पर कई लेख पढ़े, और हर जगह लिखा है कि retain cycles से बचने के लिए `[weak self]` या `[unowned self]` का उपयोग करना चाहिए। लेकिन मैं उलझन में हूं कि `unowned` कब लागू करना चाहिए। यहाँ एक उदाहरण है: मेरे पास एक क्लास `NetworkManager` है जो डेटा लोड करता है और पूरा होने पर क्लोजर को कॉल करता है। ```swift class NetworkManager { func fetchData(completion: @escaping (Data?) -> Void) { DispatchQueue.global().async { // लोडिंग का अनुकरण sleep(2) let data = Data() completion(data) } } } class ViewController: UIViewController { let networkManager = NetworkManager() func loadData() { networkManager.fetchData { data in // डेटा प्रोसेस करें self.updateUI(with: data) } } func updateUI(with data: Data?) { // UI अपडेट करें } }

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग