Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios6 如何基于UITextField中的文本创建UIAlertView?_Ios6_Uitextfield_Uialertview_Xcode4.5 - Fatal编程技术网

Ios6 如何基于UITextField中的文本创建UIAlertView?

Ios6 如何基于UITextField中的文本创建UIAlertView?,ios6,uitextfield,uialertview,xcode4.5,Ios6,Uitextfield,Uialertview,Xcode4.5,我想在文本字段中输入文本,并根据文本(如果显示“否”),弹出alertview。我在interface builder中创建了一个UITextField,并将其附加到文件所有者中的UITextField委托,这样就完成了所有工作。但是,当我在文本字段中输入文本,特别是“否”,然后单击文本字段外或移除键盘时,不会弹出alertview。我已经在viewcontroller.m文件中为此创建了一个完整的方法。下面是该方法的代码 -(无效)交战警报{ if (myTextField.text ==

我想在文本字段中输入文本,并根据文本(如果显示“否”),弹出alertview。我在interface builder中创建了一个UITextField,并将其附加到文件所有者中的UITextField委托,这样就完成了所有工作。但是,当我在文本字段中输入文本,特别是“否”,然后单击文本字段外或移除键盘时,不会弹出alertview。我已经在viewcontroller.m文件中为此创建了一个完整的方法。下面是该方法的代码

-(无效)交战警报{

 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字符串的状态