奇怪的是,如果不处理来自URL文本问题的请求数据

时间:2010-04-10 05:11:53

标签: objective-c iphone

嘿所有,我正在通过检查服务器上的文件来检查互联网连接。该文件只在页面上显示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");
}

我做错了什么?我似乎无法找到原因??

大卫

1 个答案:

答案 0 :(得分:1)

您无法比较Objective C中的字符串 - 您只是比较他们的地址,而不是他们的内容。将您的代码更改为:

if ([returnedMyFileContents isEqualToString:@"LIVE"]) {
  NSLog(@"LIVE!");
} else {
  NSLog(@"Not Live");
}