我想在文本字段中输入文本并根据文本(如果它说" No")我希望弹出警报视图。我在界面构建器中创建了一个UITextField,并将其附加到文件所有者中的UITextField委托,以便全部处理。但是当我在文本字段中输入文本时,特别是没有,并且单击文本字段或删除键盘时,不会弹出警报视图。我在viewcontroller.m文件中为此创建了一个完整的方法。这是该方法的代码。
- (void)engageAlert {
if (myTextField.text == @"No") {
theAlertView = [[UIAlertView alloc] initWithTitle:@"Notice" message:@"MyMessageHere"
delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[theAlertView show];
}
}
我在这里遗漏了什么吗?当我在文本字段中输入No时没有任何反应。
答案 0 :(得分:0)
我认为罪魁祸首就是行
myTextField.text == @"No"
因为你要比较两个永远不会匹配的指针。
@“No”= 0x12341234或NSString的静态地址的任何地址(@“”可以被认为是创建NSString对象的编译器的简写)
你想要的是
if( [myTextField.text isEqualToString:@"No"])
同时检查你是不是要用theAlertView泄漏内存,因为我看不到你在解冻片段中释放它的位置。