iphone - महत - संसाधन की परिभाषा




क्या मुझे xib संसाधनों को जारी करने की आवश्यकता है? (6)

आप आईबी में इसे बनाकर लेबल को आवंटित करते हैं।

आईबी क्या करता है, आपके आईबीओलेटलेट को और कैसे परिभाषित किया जाता है। यदि आपके पास एक क्लास चर है जिसमें आईबी कुछ ऑब्जेक्ट के संदर्भ को निर्दिष्ट करने के लिए है, तो आईबी आपके लिए ऑब्जेक्ट को एक बनाए रखने का संदेश भेज देगा।

यदि आप गुणों का उपयोग कर रहे हैं, तो आईबी आपकी संपत्ति का उपयोग करने के लिए मूल्य निर्धारित करेगा और स्पष्ट रूप से मूल्य को बनाए नहीं रखेगा। इस प्रकार आप सामान्य रूप से IBOutlet गुणों को बनाए रखने के रूप में चिह्नित करेंगे:

@property (nonatomic, retain) UILabel *lblExample;

इस प्रकार ईथर मामले में (गुणों का उपयोग करना या नहीं) आपको अपने डेलोक में रिलीज करना चाहिए

यदि मेरे पास एक xib फ़ाइल से जुड़े एक यूआईएलबल की तरह कुछ है, तो क्या मुझे इसे मेरे दृश्य के डेअलोक पर रिलीज करने की आवश्यकता है? कारण मैं पूछ रहा हूं क्योंकि मैं इसे आवंटित नहीं करता, जिससे मुझे लगता है कि मुझे इसे रिलीज करने की ज़रूरत नहीं है? उदाहरण (शीर्षलेख में):

IBOutlet UILabel *lblExample;

कार्यान्वयन में:

....
[lblExample setText:@"whatever"];
....

-(void)dealloc{
    [lblExample release];//?????????
}

किसी भी आईबीओलेट जो कि आपके निब के मुख्य दृश्य का एक सबव्यू रिलीज होने की आवश्यकता नहीं है, क्योंकि ऑब्जेक्ट सृजन पर ऑटोरिएज संदेश भेज दिया जाएगा। केवल आईबीओटलेट आपको अपने डेअलोक में रिलीज़ करने की ज़रूरत है शीर्ष स्तर की ऑब्जेक्ट जैसे नियंत्रक या अन्य NSObject के यह सब ऊपर से जुड़े एप्पल डॉक्टर में उल्लेख किया गया है।


[anOutlet release], anOutlet = nil;

यदि आपने setView लिखा है, तो पार्ट पूरी तरह अनावश्यक है: सही तरीके से।



यदि आप IBOutlet को एक संपत्ति के रूप में सेट न करते हैं लेकिन केवल एक उदाहरण चर के रूप में, आपको अभी भी इसे जारी करना होगा इसका कारण यह है कि इनथ विथ्नब पर, सभी आईबीओटलेट्स के लिए स्मृति आवंटित की जाएगी। तो यह विशेष मामलों में से एक है जिसे आपको जारी करना होगा, हालांकि आपने कोड में किसी मेमोरी को रखा या आवंटित नहीं किया है।






cocoa-touch