2011-05-25 3 views
7

जब इस तरह की कुछ कोड:उद्देश्य-सी रनटाइम रिलीज उपयोगकर्ता के लिए सहयोगी संदर्भ बनाए रखेगा?

objc_setAssociatedObject (
    obj, 
    &key, 
    val, 
    OBJC_ASSOCIATION_RETAIN 
); 

मैं अपने पास रखा मूल्य जारी करने के लिए संबंधित

objc_setAssociatedObject (
    obj, 
    &key, 
    nil, 
    OBJC_ASSOCIATION_RETAIN 
); 

कॉल की जरूरत है? क्या उद्देश्य-सी रनटाइम ऑटो dealloc या कहीं कहीं सहयोगी संदर्भ जारी करता है?

उत्तर

14

जब ऑब्जेक्ट ऑब्जेक्ट को हटा दिया जाता है तो संबद्ध ऑब्जेक्ट जारी किए जाएंगे।

बिंदु 1 में स्ट्रिंग overview क्योंकि OBJC_ASSOCIATION_RETAIN नीति निर्दिष्ट करता है कि सरणी जुड़े वस्तु को बरकरार रखे हुए अभी भी मान्य है:, विशेष रूप से इस उदाहरण प्रलेखन here देखें। जब सरणी को हटा दिया जाता है, हालांकि (बिंदु 2 पर), overview जारी किया जाता है और इसलिए इस मामले में भी हटा दिया जाता है।

संबंधित मुद्दे

 संबंधित मुद्दे