5

मैं गतिशील रूप से दृश्य पर एक बटन जोड़ना चाहता हूं। कोड यहाँ है।UIButton - क्या हमें रिलीज़ करना चाहिए या नहीं?

UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 

यहां, मैंने "alloc" फ़ंक्शन का उपयोग नहीं किया है।

इस कथन के लिए प्रश्नों का पालन करना है।

  • यदि हम एक ही स्थिति के लिए छविदृश्य का उपयोग कर रहे हैं, तो हमें आपके वर्तमान दृश्य में एक temp imageview जोड़ना होगा और इसे रिलीज़ करना होगा। बटन के लिए क्या करना है?
  • बटन कैसे आवंटित किए जाते हैं और आवंटित किए जाते हैं?
  • यदि बटन आवंटित किए गए हैं? यह स्मृति कैसे प्रबंधित किया गया है?
  • अब जब मैं [x रिलीज़] का उपयोग करता हूं; - क्या यह सही है या गलत है?

उत्तर

10

कोई आवंटन/init या नया नहीं, इसलिए इसकी आवश्यकता होने पर इसे स्वत: बंद कर दिया जाएगा। जब आप इसे UIView में जोड़ते हैं तो गिनती बढ़ जाती है और दृश्य द्वारा बनाए रखा जाता है, फिर दृश्य जारी होने पर भी जारी किया जाता है।

1

इस मामले में आपको release पर कॉल करने की आवश्यकता नहीं है। चूंकि आप एक सुविधा कन्स्ट्रक्टर का उपयोग कर रहे हैं, इसलिए लौटाई गई ऑब्जेक्ट एक ऑटोरेलेज्ड ऑब्जेक्ट है।
यदि आप एक आवंट/init फॉर्म का उपयोग करते हैं, तो आप ऑब्जेक्ट को जारी करने के लिए ज़िम्मेदार हैं।

0
UIButton *x=[UIButton buttonWithType:UIButtonTypeRoundedRect]; 

इस पद्धति का उपयोग नहीं कर सकते यू बटन

उपयोग की बजाय

UIButton *x = [[UIButton alloc]init]; 

और फिर

जारी relese