Iphone NSString=@";“你好”;NSString使用initWithContentsOfURL获取相同的字符串

Iphone NSString=@";“你好”;NSString使用initWithContentsOfURL获取相同的字符串,iphone,objective-c,xcode,nsstring,initwithcontentsofurl,Iphone,Objective C,Xcode,Nsstring,Initwithcontentsofurl,我有一个从URL获取内容的字符串,当我尝试使用它时,它没有按照我认为应该的方式工作 当我使用URL的内容初始化NSString时,如下所示: NSString *strFromURL = [[NSString alloc] initWithContentsOfURL:someURLReturningTextHELLO encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@",strFromURL); // returns "HELLO" // a

我有一个从URL获取内容的字符串,当我尝试使用它时,它没有按照我认为应该的方式工作

当我使用URL的内容初始化NSString时,如下所示:

NSString *strFromURL = [[NSString alloc] initWithContentsOfURL:someURLReturningTextHELLO encoding:NSUTF8StringEncoding error:nil];
NSLog(@"%@",strFromURL); // returns "HELLO" // as expected
但当我尝试时:

if (strFromURL == @"HELLO") { NSLog(@"IT WORKS"); } // This doesn't happen
当我对以下对象执行相同的过程时:

NSString *mySimpleString = @"HELLO";
if (mySimpleString == @"HELLO") { NSLog(@"IT WORKS"); } // This works
所以,我的问题是,如何从URL中获取内容,以便稍后在IF语句中使用


*我是Objective-C的新手,谢谢

您可以尝试与isEqualToString方法进行比较

您可以尝试与isEqualToString方法进行比较

当您询问
如果(strFromURL==@“HELLO”)
您比较的是对象的相等性,而不是字符串。当调用两个常量字符串的比较时,无论比较对象中的字符串是否相等,它都会失败


调用
if([strFromURL IsequalString:@“HELLO”])

当您请求
if(strFromURL==@“HELLO”)
时,您是在比较对象的相等性,而不是字符串。当调用两个常量字符串的比较时,无论比较对象中的字符串是否相等,它都会失败


如果([strFromURL IsequalString:@“HELLO”])则调用

对于对象,
==
操作符测试指针是否相等。也就是说,如果指针都指向同一个对象,那么这两个变量是相同的。从URL获取的字符串与常量字符串不是同一个对象,因此失败。您想使用NSString的
isEqualToString:
方法,该方法测试字符串本身是否相等,而不是指针是否相等。

对于对象,
=
操作符测试指针相等。也就是说,如果指针都指向同一个对象,那么这两个变量是相同的。从URL获取的字符串与常量字符串不是同一个对象,因此失败。您希望使用NSString的
isEqualToString:
方法,该方法测试字符串本身是否相等,而不是指针是否相等