में UIAlertView का उपयोग करके मुझे अपने कस्टम NSObject क्लास में काम करने के लिए UIAlertView प्राप्त करने में एक भयानक समय है। शोध में मैंने ऐसा किया है ऐसा प्रतीत होता है कि यह संभव होना चाहिए, लेकिन यहां मैंने जो किया है।एक NSObject
सबसे पहले, यहाँ मेरी कोड है:
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog(@"clickedButtonAtIndex: %d", buttonIndex);
}
-(void)testAlertView {
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"List Contains Items"
message:@"List contains items. Remove all items & delete?"
delegate:self
cancelButtonTitle:@"No"
otherButtonTitles:@"Yes", nil];
[alertView show];
}
अगर मैं प्रतिनिधि स्वयं के लिए इस कोड के रूप में जल्द मैं एक बटन को टैप के रूप में दुर्घटनाओं की स्थापना की। अगर मैं इसे क्लिक करने के लिए सेट करता हूं तो बटन एट इंडेक्स को कभी नहीं कहा जाता है। मैंने <UIAlertViewDelegate>
का उपयोग किए बिना और बिना प्रयास किए हैं।
मुझे पता है कि कोई पूछेगा कि 'आप अपने UIViewController के बजाय NSObject में ऐसा क्यों कर रहे हैं?'। मुख्य रूप से क्योंकि मैं इस कोड को अलग करना चाहता हूं ताकि मैं इसे अपने ऐप में कई स्थानों से उपयोग कर सकूं। लेकिन यह भी क्योंकि यह तर्क के एक बड़े ब्लॉक का एक छोटा सा टुकड़ा है जो स्वयं के लिए समझ में आता है।
कोई विचार क्या मैं गलत कर रहा हूं?
धन्यवाद, रिच
इस कोड * चाहिए * काम करते हैं, वास्तव में। जब प्रतिनिधि सेट होता है और अलर्ट क्रैश हो जाता है, तो यह वास्तव में दुर्घटनाग्रस्त हो जाता है और क्या वहां एक स्टैक ट्रेस होता है? –
क्या आपके ऑब्जेक्ट को बटन टैप करते समय हटा दिया गया है? (ऑब्जेक्ट आमतौर पर अपने प्रतिनिधियों को बरकरार नहीं रखते हैं) –
यह सिर्फ सामान्य है। मैंने इस पर घूरने में घंटों बिताए और किसी भी सफलता के बिना एक चीज की खोज और कोशिश की, इसलिए मैंने मदद मांगी। एक घंटे बाद नहीं मैंने अंत में इसे समझ लिया। इसे कॉलिंग व्यू कंट्रोलर में कस्टम ऑब्जेक्ट बनाने के तरीके से करना था, इसलिए जब मैंने फ्रेडरिक सुझाव दिया था, तब तक इसे बटन टैप करने के दौरान रिलीज़ किया गया था। इनपुट के लिए शुक्रिया दोस्तों! – rdfrahm