objective-c - 如何检查 [request responseString] 是否等于其他字符串?

标签 objective-c ios xcode nsstring

例如,我的 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/

相关文章:

ios - 在 Objective-C 中创建初始化器

ios - 如何更新 UISegmentedControl

ios - 点击图像,打开另一个 ViewController

ios - 将 UILabel 设置为 Null 值导致异常

iphone - 从 ZBar 转到另一个 View 时出错

objective-c - UITableView 刷新查询

ios - UICollectionView targetContentOffsetForProposedContentOffset :withScrollingVelocity: not working?

ios - 如何将数组中的json值赋给字典?

ios - 当我在我的应用程序中按下按钮时,我将如何打开谷歌地图?

c++ - 使用 Xcode 4 配置 googletest 的正确方法是什么?