में एक UIAlertView प्रदर्शित करें मैं अपने ऐप के भीतर एक लॉगिन सिस्टम बना रहा हूं जिसे कई बार बुलाया जाएगा। तो कोड को कई स्थानों पर कॉपी करने और चिपकाने की बजाय, मैं निश्चित रूप से एनएसओब्जेक्ट क्लास बना रहा हूं, इसलिए जब आवश्यक हो, तो मैं कक्षा को कॉल कर सकता हूं।NSObject क्लास
लॉगिन सिस्टम एक यूआईएलर्टव्यूव प्रदर्शित करेगा, और जब "ओके" टैप किया जाएगा, तो सिस्टम लॉग इन करने का प्रयास करेगा। मैं कक्षा को कॉल कर सकता हूं और यूआईएलर्टव्यू दिखाएगा, लेकिन मैं नहीं बता सकता कि कौन से बटन टैप किए गए हैं।
//Calling the login system
Login *login = [[Login alloc] init];
Login.h:
#import <Foundation/Foundation.h>
@interface Login : NSObject <UIAlertViewDelegate> {
}
@end
Login.m: यहाँ मेरी कोड है
#import "Login.h"
@implementation Login
+(void)initialize {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Login" message:nil delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
[alert show];
[alert release];
NSLog(@"Testing");
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog(@"Here");
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"OK"]) {
NSLog(@"Tapped");
}
}
@end
अभी के लिए, इससे पहले कि मैं ध्यान में रखते हुए UITextFields शब्दों में कहें, मैं बस ऐप को यह जानना है कि कौन सा बटन टैप किया गया था। Testing
लॉग में दिखाई देता है, लेकिन न तो Here
और न ही Tapped
दिखाई देता है। धन्यवाद!
ओवरराइड न करें '+ (शून्य) initialize' !!!! 'प्रारंभ करें' ** ** ** ** से अधिक ** अलग है! आपको यह सुनिश्चित करने की ज़रूरत है कि आप उचित रूप से 'सुपर' को भी बुला रहे हैं। इसके अलावा, सुनिश्चित करें कि आप एमवीसी दिशानिर्देशों का पालन कर रहे हैं। आम तौर पर मॉडल ऑब्जेक्ट्स को UI तत्व प्रदर्शित नहीं करना चाहिए। –
जैक लॉरेंस सही है: स्वयं कौन है कि यह एक यूआईएलर्टव्यू प्रतिनिधि है? इसे प्रारंभ भी नहीं किया गया है, इस तरह इसे प्रतिनिधि के रूप में नहीं कहा जाता है। –
आप लोग सही हैं! मैंने पहले ऐसा नहीं किया है, इसलिए मैंने + (शून्य) प्रारंभ किया - (आईडी) init और यह काम किया। जैक लॉरेंस: अपनी टिप्पणी को उत्तर के रूप में लिखें ताकि मैं आपको सही तरीके से चिह्नित कर सकूं। –