Ios6 如何基于UITextField中的文本创建UIAlertView?
我想在文本字段中输入文本,并根据文本(如果显示“否”),弹出alertview。我在interface builder中创建了一个UITextField,并将其附加到文件所有者中的UITextField委托,这样就完成了所有工作。但是,当我在文本字段中输入文本,特别是“否”,然后单击文本字段外或移除键盘时,不会弹出alertview。我已经在viewcontroller.m文件中为此创建了一个完整的方法。下面是该方法的代码 -(无效)交战警报{Ios6 如何基于UITextField中的文本创建UIAlertView?,ios6,uitextfield,uialertview,xcode4.5,Ios6,Uitextfield,Uialertview,Xcode4.5,我想在文本字段中输入文本,并根据文本(如果显示“否”),弹出alertview。我在interface builder中创建了一个UITextField,并将其附加到文件所有者中的UITextField委托,这样就完成了所有工作。但是,当我在文本字段中输入文本,特别是“否”,然后单击文本字段外或移除键盘时,不会弹出alertview。我已经在viewcontroller.m文件中为此创建了一个完整的方法。下面是该方法的代码 -(无效)交战警报{ if (myTextField.text ==
if (myTextField.text == @"No") {
theAlertView = [[UIAlertView alloc] initWithTitle:@"Notice" message:@"MyMessageHere"
delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
[theAlertView show];
}
}
我是不是遗漏了什么?当我在文本字段中键入“否”时,不会发生任何事情。我认为罪魁祸首将是这一行
myTextField.text == @"No"
因为你在比较两个永远不会匹配的指针
@“No”=0x12341234或NSString静态地址的任何地址(@)可以被认为是创建NSString对象的编译器的缩写
你想要的是
if( [myTextField.text isEqualToString:@"No"])
另外,请使用AlertView检查您是否会泄漏内存,因为我看不到您在代码段中释放内存的位置。这是有道理的,我将if语句更改为您在那里的内容,但仍然没有得到响应。当退出textfield的接口时,是否有方法检查字符串?至于内存泄漏,我真的不知道。您在我的代码中看到的是uialertviewWhen's calling engageAlert?viewDidLoad之后立即调用了该方法。我想不出还有什么地方可以调用这个方法。理想情况下,我希望在用户退出textfield界面时调用它,但我通常不知道如何操作。如果在调用iAction按钮后调用该方法,效果会很好。如果可能的话,我想不用按钮来做这个。如退出界面时检查textfield字符串的状态