使用关系运算符比较两个文本域的文本

时间:2011-08-05 12:09:10

标签: iphone xcode uiviewcontroller uitextfield

我是iphone开发者的新手,我想比较我的两个文本的价值,所以请告诉我如何使用realtion运算符来做到这一点.. 我已经使用了这段代码

if([uname.text] != [password.text]){
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"u dont enter uname and password" message:@"pls enter" delegate:self cancelButtonTitle:@"Wanna enter" otherButtonTitles:nil];

    [alert show];
    [alert release];

}

并收到此错误

错误:预期':'之前']'令牌

5 个答案:

答案 0 :(得分:3)

关系运算符不适用于NSString ..使用isEqualToString方法

if(![uname.text isEqualToString:password.text])

关于你的错误,删除那些[]。

答案 1 :(得分:3)

if (![uname.text isEqualtoString: password.text]) {
    //do something
}

它会起作用。

答案 2 :(得分:2)

if(![uname.text isEqualtoString: password.text]){
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"u dont enter uname and password" message:@"pls enter" delegate:self cancelButtonTitle:@"Wanna enter" otherButtonTitles:nil];
    [alert show];
    [alert release];
}

答案 3 :(得分:2)

对我来说很困惑: 您是否检查用户名/密码为空,或者您正在检查用户名和密码是否具有相同的值

  

由于您的提示信息与您正在应用的条件不同

NSString* userName = uname.text;
NSString* pwd = password.text;

if(([userName length] < 0) && ([pwd length] < 0)){

      UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"u dont enter uname and password" message:@"pls enter" delegate:self cancelButtonTitle:@"Wanna enter" otherButtonTitles:nil];

    [alert show];
    [alert release];
 }
}

答案 4 :(得分:1)

你的写作[uname.text] != [password.text]这在语法上是错误的。使用uname.text != password.text

我的建议是你必须通过isEqualToString比较两个字符串:

例如:

if(![string1 isEqualToString:string2]){

///bla bla

}

1 .[string1 isEqualToString:string2]比较两个字符串值

2. string1 == string2比较两个字符串对象引用