objective c - Does Calling -init on super Chew Up Memory -


निम्नलिखित उद्देश्य-सी में सामान्य है।

  - (id) init {if (आत्म = [सुपर इनिट]) {// कस्टम इनिशियलाइज़ेशन} रिटर्न स्व; }   

क्योंकि एक -init एक उदाहरण विधि है, इसे एक क्लास का एक वैध उदाहरण पर कॉल किया जाना चाहिए, और एक क्लास का उदाहरण तत्काल होना चाहिए। यह तत्काल मेमोरी का उपयोग करता है -init को super पर कॉल करता है, स्मृति का उपयोग करें क्योंकि उसे init विधि को कॉल करने के लिए एक नया ऑब्जेक्ट इन्स्तांत करना पड़ता है?

सुपर उपयोग मेमोरी पर कॉलिंग करता है क्योंकि इसे किसी नए ऑब्जेक्ट को इन्स्तांत करना पड़ता है पर init विधि को कॉल करें?

नहीं, क्योंकि आपके आधार गलत है सुपर , एक संदेश के रिसीवर के रूप में, एक ही वस्तु के रूप में self है; यह कम्पाइलर के बजाय का उपयोग करने के लिए सिर्फ एक संकेत है। सुपरक्लास के साथ पूर्व प्रारंभ विधि का पता लगाना, लेकिन विधि चलाने वाला उदाहरण अभी भी समान है।

सुपर कीवर्ड का उपयोग करके कोई नया उदाहरण नहीं बनाया गया है।

Comments

Popular posts from this blog

Java - Error: no suitable method found for add(int, java.lang.String) -

java - JPA TypedQuery: Parameter value element did not match expected type -

c++ - static template member variable has internal linkage but is not defined -