Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/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
Objective c 如果其他状态在我的应用程序中不起作用_Objective C - Fatal编程技术网

Objective c 如果其他状态在我的应用程序中不起作用

Objective c 如果其他状态在我的应用程序中不起作用,objective-c,Objective C,我正在制作一本字典(这是我的测试应用程序) 以下是我的代码,它不起作用: - (IBAction) btnClickMe_Clicked:(id)sender { NSString *kw = s.text; NSString *encodedkw = [kw stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; NSString *mms = [NSString stringWithF

我正在制作一本字典(这是我的测试应用程序) 以下是我的代码,它不起作用:

- (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

可能会发生这样的情况,您需要调用某种字符串操作例程,比如比较字符串,而不仅仅是比较指针

除此之外,
mms=NIL
意味着不需要将
NIL
分配给
mms


Upd.
NIL
不表示空字符串。您应该编写
[mms length]==0
来查看字符串是否为空。

您可能需要调用某种字符串操作例程来比较字符串,而不仅仅是比较指针

除此之外,
mms=NIL
意味着不需要将
NIL
分配给
mms


Upd.
NIL
不表示空字符串。您应该改为写入
[mms length]==0
,以查看字符串是否为空。

您不能在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
进行字符串比较。最后,我将null检查更改为对照
nil
检查,而不是
null

您不能在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

您使用了=而不是=

您使用了=而不是=

什么不起作用?您的代码是否引发异常?撞车和烧伤?没有产生预期的结果?它是什么语言?你能提供一个测试用例来演示这种行为吗?什么不起作用?您的代码是否引发异常?撞车和烧伤?没有产生预期的结果?它是什么语言?你能提供一个测试用例来演示这个行为吗?为了正确起见,它不应该是:if(mms==NIL)。。。因为苹果的API返回“NIL”而不是“NULL”?(也就是说,[stringWithFormat…]不是一个总是返回某些内容的静态函数吗?)同意nil,并且它永远不应该是nil。更新我的答案。为了正确起见,它不应该是:if(mms==NIL)。。。因为苹果的API返回“NIL”而不是“NULL”?(也就是说,[stringWithFormat…]不是一个总是返回某些内容的静态函数吗?)同意nil,并且它永远不应该是nil。更新我的答案。