मैं शुरू करने पर विचार कर रहा हूँ:उद्देश्य सी में isKindOfClass का उपयोग करने का प्रदर्शन दंड क्या है?
if ([myInstance isKindOfClass:[SomeClass class]]) { do something...}
कोड का एक टुकड़ा है कि बहुत अक्सर कहा जाता हो जाता है में
। क्या मैं एक महत्वपूर्ण प्रदर्शन जुर्माना पेश करूंगा? उद्देश्य सी में, क्या यह निर्धारित करने का एक तेज तरीका है कि दिया गया ऑब्जेक्ट उदाहरण कुछ वर्ग प्रकार का है या नहीं? उदाहरण के लिए, निम्नलिखित तेज है? (मुझे पता है परीक्षण कुछ अलग है)
if (myInstance.class == [SomeClass class]) { do something else...}
क्या अपने रूपरेखा के परिणाम आपको बता दिया? –
मैंने अभी तक कोई प्रोफाइल नहीं किया है; यह मेरा अगला कदम है। मैं कुछ दस्तावेज ढूंढने की उम्मीद कर रहा था जो अंधा perf परीक्षण में कूदने से पहले उद्देश्य सी में कक्षाओं के लिए अंतर्निहित जादू बताते हैं। हालांकि, मुझे कुछ भी नहीं मिला है इसलिए मैं अगले पर अलग-अलग क्रमिक प्रयास करने जा रहा हूं। किसी भी सुझाव के बारे में कोई सुझाव कि मैं किसी दिए गए उदाहरण के वर्ग प्रकार की पहचान कैसे कर सकता हूं? – durcicko
अंधा प्रदर्शन परीक्षण जैसी कोई चीज नहीं है ... केवल अंधा अनुकूलन! साथ ही, ओबीजे-सी रनटाइम तय करता है कि प्रत्येक बार जब आप कोई विधि कॉल करते हैं तो ऑब्जेक्ट क्लास के आधार पर कॉल करने के लिए कौन सी विधि कॉल करें, इसलिए उस श्रेणी के तरीके में {कुछ करें ...} डालकर इसका लाभ उठाएं – codewarrior