所以我有问题这样做。这段代码不会按我想要的方式工作。
if (answer.text == @"text") {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"title" message:@"message" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert show];
[alert release];
}else{
UIAlertView *alert1 = [[UIAlertView alloc] initWithTitle:@"title 2" message:@"Title 2" delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];
[alert1 show];
[alert1 release];
}
我的问题是文本框'answer'中包含文本'text',它不会执行第一个UIAlertView。它始终在else {}中执行。此代码也在按钮的IBAction中。现在任何帮助都很好。
答案 0 :(得分:4)
==
运算符只比较指针,因此两个相同的NSString实例不会比较相等。改为使用比较方法:
if ([answer.text isEqualToString:@"text"]) ...
答案 1 :(得分:0)
if ([text isEqualToString:@"text"]) {
一个好注意事项:
在许多语言中,使用==
来比较叮咬通常不是一个好主意。我总是寻找比较字符串函数或方法。除非语言手册另有说明,否则我会建议你这样做。