例如,我的 servlet 发送到我的 iphone 应用程序的 [request responseString] 的值是“myinfo”。在我的 iphone 应用程序中,我制作了一个这样的字符串:
NSString *str = @"myinfo";
然后我有if else
if([responseString isEqualToString:str]){
NSLog(@"condition true");
}else{
NSLog(@"condition false");
}
在控制台中它总是显示“条件错误”。有什么问题? isEqualToString 不是用于检查字符串是否相等的写入方法吗?提前致谢。
最佳答案
无论您多么认为您的两个字符串完全相等,它们都不是。相信我,如果-isEqualToString:
没有返回YES
对于两个相等的字符串,有人会注意到在过去的 20 多年里它已经成为 Cocoa API 的一部分。
我怀疑您的两个字符串之一包含一些非打印字符。您可能在其中有一个换行符或一个空格或一个制表符。另一种可能性(我最近遇到的一种可能性)是,对于某些字符集编码,您可以创建一个 NSString
其中有一个空字符。如果它在最后,它就不会出现。尝试记录两个字符串的长度,或将它们转换为 NSData
使用 UTF16 编码并记录它们的对象。
关于objective-c - 如何检查 [request responseString] 是否等于其他字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7321378/