मैंने उन्हें समझने की कोशिश कर उद्देश्य-सी प्रतिनिधियों पर लेखों और रीडिंग का एक समूह पढ़ा है। जावा से आ रहा है, वे जावा श्रोताओं की तरह बहुत प्रतीत होते हैं। उदाहरण के लिए, मान लें कि मेरे पास जावा में एक बटन था। जब बटन धक्का दिया जाता है, तो मुझे कुछ होना चाहिए। मेरा कोड इस तरह कुछ दिख सकता है:उद्देश्य-सी प्रतिनिधियों बनाम जावा श्रोताओं
ButtonListener myButtonListener = new ButtonListener();
someButton.addActionListener(myButtonListener);
...
class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
}
}
ऐसा कुछ। उद्देश्य-सी में ऐसा लगता है कि मैं अपने बटन के लिए सेट डिलीगेट विधि को कॉल करने और इसे "श्रोता" के रूप में एक प्रतिनिधि के रूप में पास करने के साथ कुछ करता हूं। वास्तविक बटन वर्ग तब संभवतः जांच करेगा कि क्या प्रतिनिधि ने कुछ चयनकर्ता (यानी एक्शनप्रोर्फ़ॉर्म) का जवाब दिया था। अगर मैं इस बारे में सही तरीके से सोच रहा हूं, ऐसा लगता है कि प्रतिनिधि श्रोताओं की तरह हैं। क्या वो सही है? क्या कोई बड़ा अंतर है?
धन्यवाद!
तकनीकी रूप से, ब्लॉक का उपयोग करके, आप इनलाइन प्रतिनिधियों को बना सकते हैं। मेरे पास हार्ड ड्राइव पर कहीं भी एक यूटिलिटी क्लास है ... –
ओह सचमुच, मैं उस ऐप में ऐसा कुछ ढूंढ रहा था जिसे मैं एक प्रतिनिधि समारोह के लिए पूरी तरह से नई कक्षा बनाने से बचने के लिए काम कर रहा था। मुझे यह देखना अच्छा लगेगा कि आप –
कैसे करते हैं, यहां आप जाएं: शीर्षलेख: http://pastebin.com/Gdg4nsAF मुख्य: http://pastebin.com/SGVGCB31। आपको प्रत्येक प्रतिनिधि के लिए एक वर्ग बनाना होगा, लेकिन जब आपको उनमें से बहुत कुछ चाहिए, तो इससे कक्षाओं की संख्या कम हो जाएगी। –