3 回答
TA贡献1827条经验 获得超8个赞
首先,您正在使用==运算符比较两个(类型为NSString *)的对象指针。因此,当指针相同时返回true,而不是在字符串具有相同内容时返回true。如果要比较两个字符串是否相同,则应使用isEqualToString:或isEqual:(isEqual:更通用,因为它适用于所有类型的对象)。
其次,compare:返回0(NSOrderSame)当它们是相同的,和1(NSOrderedDescending当所述第一比
TA贡献1821条经验 获得超6个赞
比较两个相同的字符串时,compare将返回NSOrderedSame0。它也可以返回NSOrderedAscending-1和NSOrderedDescending1。
您可能更喜欢使用isEqualToString返回YES或NO的值。
TA贡献1900条经验 获得超5个赞
当将==运算符应用于对象时,将检查指针是否相等。
你必须使用-compare方法或它的同伴之一- compare:options:- compare:options:range:或者-compare:options:range:locale:它会返回一个NSComparisonResult(NSOrderAscending,NSOrderSame,NSOrderDescending)
如果只需要相等比较,则可以使用-isEqualToString:它返回一个BOOL值。
- 3 回答
- 0 关注
- 512 浏览
添加回答
举报
