compare:和isEqualToString:有什么区别?

Div*_*ves 4 iphone cocoa objective-c

我正在研究这个:

NSString *str1 = @"This is string A";
NSString *str2 = @"This is string B";
NSComparisonResult compareResult;
if([str1 isEqualToString:str2] == YES)
   NSLog (@"str1 == str2");
else
   NSLog (@"str1 != str2");    

compareResult = [str1 compare: str2];

if (compareResult == NSOrderedAscending)
    NSLog (@"str1 < str2");

else if(compareResult == NSOrderedSame)
    NSLog (@"str1 == str2");

else
    NSLog (@"str1 > str2");
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:compare:和isEqualToString有

什么区别:

我是编程的新手,所以请耐心等待.
非常感谢.

Den*_*ssy 7

compare:方法允许您确定对象的顺序,以便您可以使用它进行排序.isEqualToString:仅用于确定两个字符串是否具有相同的值(注意:它比较的是值,而不是对象).

  • 哈.这是值得的另一个问题.没有单一的内置方法可以告诉你,但实现起来并不困难.使用NSMutableArray并添加第一个字符串中的所有字母.然后迭代第二个字符串中的所有字母并验证它们是否存在于数组中(并删除它们).完成后,验证数组是否为空. (2认同)