方法:
- (void)serverResponse:(NSData *)data
{
NSString *response = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", response);
NSLog(@"%i", [response isEqualToString:@"1"]);
}
日志:
2015-03-15 06:26:53.716 appName[687:60b] 1
2015-03-15 06:26:53.718 appName[687:60b] 0
这似乎没有任何意义。我猜这个问题与编码有关,但我不确定是什么。任何帮助表示赞赏。
答案 0 :(得分:1)
比较字符串时,NSString
不会考虑编码。
您的问题很简单:响应在" 1"。
之后包含28个空格两种可能的解决方案:
BOOL integerValueEquality = [response integerValue] == 1;
或
NSString *trimmedString = [response stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
BOOL stringEquality = [trimmedString isEqualToString:@"1"];