比较iPhone中的字符串时没有正确的语法

时间:2009-12-21 02:09:02

标签: iphone sqlite nsstring

我想比较以下数值:

 gType = [[UILabel alloc]init];
 if (gType = [NSString string:@"BUSINESS"]) {

我收到警告,'NSString'可能无法响应'+ string:'

我不确定是什么问题。 gType是我从db查询填充的值。来自同一查询的其他文本值在UITableView中显示正常,因此我非常有信心我已正确创建它。

THX,

4 个答案:

答案 0 :(得分:1)

首先,=是C中的赋值运算符,不进行任何比较。其次,即使你在那里使用比较运算符,你也要比较指针地址,而不是对象的文本内容。

Read this

答案 1 :(得分:1)

您正在寻找:

if ([someString isEqual:@"Something else"]) { ... }

答案 2 :(得分:1)

您的代码在NSString类上调用“String”类方法。这不接受任何参数,这是你的问题。

编写代码的正确方法如下:

if ([gType.text isEqualToString:@"BUSINESS"])

答案 3 :(得分:0)

正如NSD所说,你的代码存在一些基本问题。

如果你想比较Cocoa Touch中的字符串,你可以在NSString上使用-isEqualToString:方法。