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。更新我的答案。