嘿所有,我正在通过检查服务器上的文件来检查互联网连接。该文件只在页面上显示LIVE一词。没有HTML或其他任何内容,只有单词LIVE。
当我运行此代码时,我确实让NSLog说“LIVE”但是一旦我用IF语句检查它,它就失败了,我只是不知道为什么???
NSString* myFile = [NSString stringWithFormat:@"http://www.xxx.com/iPodTouchPing.html"];
NSString* myFileURLString = [myFile stringByReplacingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSData *myFileData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:myFileURLString]];
NSString *returnedMyFileContents=[[[NSString alloc] initWithData:myFileData encoding:NSASCIIStringEncoding] autorelease];
NSLog(@"%@", returnedMyFileContents);
if (returnedMyFileContents == @"LIVE") {
NSLog(@"LIVE!");
}else{
NSLog(@"Not Live");
}
我做错了什么?我似乎无法找到原因??
大卫
答案 0 :(得分:1)
您无法比较Objective C中的字符串 - 您只是比较他们的地址,而不是他们的内容。将您的代码更改为:
if ([returnedMyFileContents isEqualToString:@"LIVE"]) {
NSLog(@"LIVE!");
} else {
NSLog(@"Not Live");
}