A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Abuzzworld 中级黑马   /  2015-10-12 10:08  /  854 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. #import <Foundation/Foundation.h>
  2. int main(int argc, const char * argv[]) {
  3.     @autoreleasepool {
  4.         NSString *str = @"ddddd";
  5.         NSString *str1 = @"abcBBaaaaa";
  6.         NSLog(@"%ld",[str compare:str1 options:NSNumericSearch]);
  7.     }
  8.     return 0;
  9. }
复制代码

  1. 2015-10-12 10:07:33.678 block[988:46230] 1
  2. Program ended with exit code: 0
复制代码


NSNumericSearch参数不是按字符个数比较么,为什么会输出1呢,正确不是应该输出-1么

4 个回复

倒序浏览
C语言里strcmp如果前面的字符串比后面的大,返回值是1. ddddd字符串比abcBBaaaa大,因为d的ASCII码比a大。OC的没用过这个方法,不太清楚。
回复 使用道具 举报
{:3_54:}有人能指点下么
回复 使用道具 举报
还没有看到那么后面呢。你真快
回复 使用道具 举报
  1. NSNumericSearch = 64,                /* Added in 10.2; Numbers within strings are compared using numeric value, that is, Foo2.txt < Foo7.txt < Foo25.txt; only applies to compare methods, not find */
复制代码

底层的解释是这样的,我测试了一下,是字符串中出现数字的使用的,比较的是字符串中数字的大小
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马