Junior — Middle
შეგიძლიათ ახსნათ სუსტი მიმთითვლების კონცეფცია პროგრამირებაში?
sobes.tech AI
პასუხი AI-სგან
कमजोर संदर्भ (weak references) वस्तुहरूलाई जनाउँछ जुन गार्बेज कलेक्सनले ती वस्तुहरूलाई मेमोरीबाट हटाउन रोक्दैन। बलियो संदर्भहरू भन्दा फरक, कमजोर संदर्भहरूले मेमोरी लीकहरूबाट जोगाउँछन् जब वस्तु अब आवश्यक छैन, तर अझै पनि त्यसमा संदर्भहरू छन्।
उदाहरणका लागि, iOS (Swift वा Objective-C) मा, कमजोर संदर्भहरू प्रायः वस्तुहरू बीचको रिटेन साइकलहरू (retain cycles) रोक्न प्रयोग गरिन्छ, विशेष गरी क्लोजरहरू वा डेलिगेटहरूमा:
class ViewController: UIViewController {
var closure: (() -> Void)?
func setup() {
closure = { [weak self] in
self?.doSomething()
}
}
func doSomething() {
print("कार्य सम्पन्न")
}
}
यहाँ, [weak self] ले सुनिश्चित गर्दछ कि क्लोजरले self लाई बलियो रूपमा समात्दैन, जसले कन्ट्रोलरलाई मेमोरीबाट मुक्त गर्न अनुमति दिन्छ जब यो आवश्यक छैन।
यसरी, कमजोर संदर्भहरूले वस्तुहरूको जीवन चक्र व्यवस्थापन गर्न मद्दत गर्दछ र मेमोरी समस्या रोक्न मद्दत गर्दछ।