मैं आईफोन विकास के लिए नया हूं और मेरे पास एक सवाल है जिसका एक बहुत ही सरल जवाब हो सकता है। मैं एक दृश्य में बटन जोड़ने की कोशिश कर रहा हूं और ये बटन एक कस्टम क्लास से जुड़े हैं जो मैंने परिभाषित किया है। जब मैं दृश्य में बटन जोड़ता हूं, तो मैं जानना चाहता हूं कि ये बटन किस वर्ग से मेल खाते हैं। ऐसा इसलिए है क्योंकि जब मैं बटन दबाता हूं, मुझे कक्षा के बारे में कुछ जानकारी प्राप्त करने की आवश्यकता होती है, लेकिन संदेश का प्राप्तकर्ता एक और वर्ग है। मुझे वेब पर मिलने वाली त्रुटि के बारे में जानकारी नहीं मिली। समस्या मेरे पास है कि मैं एक NSMutableDictionary बनाने के लिए जहां चाबियों का प्रकार UIButton * हैं कोशिश कर रहा हूँ और मूल्यों अपने कस्टम प्रकार के होते हैं:UIButton * के साथ एनएसएमयूटेबल डिक्शनरी के रूप में - आईफोन विकास
// create button for unit
UIButton* unitButton = [[UIButton alloc] init];
[sourceButtonMap setObject:composite forKey:unitButton];
बेशक
, sourceButtonMap वर्ग में परिभाषित किया गया है और आरंभ नहीं हो जाता के रूप में sourceButtonMap = [[NSMutableDictionary alloc] init];
त्रुटि मैं जब मैं कुंजी-मान पेयर को जोड़ने का प्रयास init समारोह में है:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIButton copyWithZone:]: unrecognized selector sent to instance 0x3931e90'
क्या यह हो रहा है क्योंकि मैं UIButton * को चाबियों के रूप में स्टोर नहीं कर सकता? क्या कोई मुझे बता सकता है कि मुझे यह त्रुटि क्यों मिल रही है? आप सभी को धन्यवाद,
आ
है यही कारण है कि मैं क्या सोचा है, तो आप कैसे इस समस्या को हल करने के लिए पर कोई सुझाव है? UIButton को देखते हुए, मुझे उस कस्टम क्लास को प्राप्त करने की आवश्यकता है जो बटन का प्रतिनिधित्व करता है। यदि मैं एक शब्दकोश का उपयोग नहीं कर सकता, तो ऐसा करने का दूसरा तरीका होना चाहिए। मैं एक सरणी का उपयोग नहीं कर सकता क्योंकि कई UIButtons एक ही ऑब्जेक्ट को संदर्भित कर सकते हैं। बटन का प्रतिनिधित्व करने वाले वर्ग की आईडी देने का कोई तरीका है? या कुछ समान है? –