मैं सॉकेट प्रोग्रामिंग के साथ काम कर रहा हूं। मैं सिर्फ mobileorchard.com - Chatty से डाउनलोड किए गए कोड से संबंधित एक संदेह को साफ़ करना चाहता था। जबकि आर & डी, मैं ChatRoomViewController.m फ़ाइलहम क्यों कॉल करते हैं NotRecognizeSelector: विधि?
[chatRoom broadcastChatMessage:input.text fromUser:[AppConfig getInstance].name];
में एक समारोह कॉल देखा जब मैं में Room.m फ़ाइल को देखा, ऊपर कॉल के कार्यान्वयन के लिए; यह
- (void)broadcastChatMessage:(NSString*)message fromUser:(NSString*)name
{
// Crude way to emulate an "abstract" class
[self doesNotRecognizeSelector:_cmd];
}
मैं "doesNotRecognizeSelector:" के लिए googled था, Apple के अनुसार अपनी त्रुटि से निपटने के लिए करते हुए कहा "। क्रम प्रणाली इस विधि जब भी एक वस्तु एक aSelector संदेश यह करने के लिए आगे उत्तर नहीं दे सकते या प्राप्त करता है invokes" मेरा सवाल यह है कि डेवलपर ब्रॉडकास्ट कैट मैसेज कहता है: यूज़र: फ़ंक्शन यदि इसका कोई उपयोग नहीं है और कौन सी विधि "चयनकर्ता नहीं मिला" अपवाद को संभालने के लिए?
Stackovrflow के अनुसार, इसका उपयोग Question के अनुसार, अमूर्त वर्ग बनाने के लिए किया जाता है, यह "अपूर्ण कार्यान्वयन" चेतावनी से बचने के लिए होता है।
मुझे अभी भी यह नहीं मिल रहा है कि उस विधि का उपयोग Chatty Code में क्यों किया जाता है, कृपया मुझे यह समझने में सहायता करें कि उस विधि का उपयोग क्यों किया जाता है।
ऐसा लगता है कि एप्लिकेशन का मूल डेवलपर सी ++ अमूर्त बेस क्लास की विशेषताओं का अनुकरण करने का प्रयास कर रहा था, इसके उदाहरणों में यह अमान्य है। यह विधियों को बनाने के लिए एक और चरम रूप है, कुछ भी नहीं करता है या प्लेसहोल्डर मान (आमतौर पर 0 या NULL) वापस नहीं करता है। – CodaFi