我正在制作一本字典(这是我的测试应用) 这是我的代码不起作用:
- (IBAction) btnClickMe_Clicked:(id)sender {
NSString *kw = s.text;
NSString *encodedkw = [kw stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *mms = [NSString stringWithFormat: @"%@", encodedkw];
if (mms=NULL){
iMessageLabel.text=@"put text";
} else if (mms=@"a"){
iMessageLabel.text=@"this is a";
} else if (mms=@"b"){
iMessageLabel.text=@"this is b";
}
}
有人对此有所了解吗? 谢谢 ALEX
答案 0 :(得分:4)
您无法在NSString对象上使用==
。试着这样做:
if (encodedkw == nil){
iMessageLabel.text=@"put text";
} else if ([encodedkw isEqualToString:@"a"]){
iMessageLabel.text=@"this is a";
} else if ([encodedkw isEqualToString:@"b"]){
iMessageLabel.text=@"this is b";
}
mms
应该等于encodedkw
所以我转而使用它。我也使用isEqualToString
进行字符串比较。最后,我更改了空检查以检查nil
而不是NULL
。
答案 1 :(得分:1)
可能会发生这种情况,您需要调用某种字符串操作例程compare来比较字符串,而不仅仅是比较指针吗?
此外mms=NIL
表示将NIL
分配给mms
而不是需要进行比较。
更新。: NIL
并不代表空字符串。您应该编写[mms length] == 0
来查看字符串是否为空。
答案 2 :(得分:1)
您使用的是=而不是==