Ros*_*oss 1 iphone objective-c
我正在考虑两个字符串.有平等的.isEqualToString:回报NSOrderedDescending.
我以为isEqualToString:会回来NSOrderedSame.有人可以向我解释为什么会这样吗?
示例案例 ......
NSString *myString = @"1";
if ( [myString isEqualToString:@"1"] == NSOrderedSame ) {
// is NSOrderedSame
}
Run Code Online (Sandbox Code Playgroud)
自从写出我知道我应该使用的问题compare:.它会回来NSOrderedSame.但我想知道,为什么会发生这种情况.
由于
罗斯
它没有返回NSOrderedDescending,它返回YES.检查该方法的返回类型!
- (BOOL)isEqualToString:(NSString *)aString
Run Code Online (Sandbox Code Playgroud)
NSOrderedDescending是一个NSComparisonResult,并且恰好具有1由于其声明的值:
enum {
NSOrderedAscending = -1,
NSOrderedSame,
NSOrderedDescending
};
typedef NSInteger NSComparisonResult;
Run Code Online (Sandbox Code Playgroud)
不要混用和匹配类型!