How can I get rid of this warning?

I get a warning on the line (theTextField.delegate = self;) that says: "Assigning an" identifier from an incompatible type Alert Prompt "

- (id)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle okButtonTitle:(NSString *)okayButtonTitle { if (self == [super initWithTitle:title message:message delegate:delegate cancelButtonTitle:cancelButtonTitle otherButtonTitles:okayButtonTitle, nil]) { UITextField *theTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)]; [theTextField setBackgroundColor:[UIColor whiteColor]]; [self addSubview:theTextField]; self.textField = theTextField; [theTextField release]; CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, -25.0); [self setTransform:translate]; theTextField.backgroundColor = [UIColor clearColor]; theTextField.borderStyle = UITextBorderStyleRoundedRect; theTextField.delegate = self; } return self; } 
+4
source share
2 answers

About this ad in docs

 @property(nonatomic, assign) id<UITextFieldDelegate> delegate 

This means that your class must conform to the UITextFieldDelegate protocol.
The declaration may look like this:

 @interface MyController : NSObject <UITextFieldDelegate> { 
+8
source

Try the code below and let me know if you still get the same warning.

 - (id)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle okButtonTitle:(NSString *)okayButtonTitle { if (self == [super initWithTitle:title message:message delegate:delegate cancelButtonTitle:cancelButtonTitle otherButtonTitles:okayButtonTitle, nil]) { UITextField *theTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)]; [theTextField setBackgroundColor:[UIColor whiteColor]]; theTextField.backgroundColor = [UIColor clearColor]; theTextField.borderStyle = UITextBorderStyleRoundedRect; theTextField.delegate = self; self.textField = theTextField; [theTextField release]; [self addSubview:textField ]; CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, -25.0); [self setTransform:translate]; } return self; } 

Also check to see if your class UITextFieldDelegate protocol.

0
source

All Articles