- (NSComparisonResult)compare:(NSString *)string options:(NSStringCompareOptions)mask range:(NSRange)compareRange locale:(nullable id)locale;

compare:(NSString *)

传入一个需要比较的字符串。

例如 [value compare:@"1234567890"],返回 NSOrderedSame。

options:(NSStringCompareOptions)

传入 NSStringCompareOptions 枚举的值

enum{

NSCaseInsensitiveSearch = 1,//不区分大小写比较

NSLiteralSearch = 2,//区分大小写比较

NSBackwardsSearch = 4,//从字符串末尾开始搜索

NSAnchoredSearch = 8,//搜索限制范围的字符串

NSNumbericSearch = 64//按照字符串里的数字为依据,算出顺序。例如 Foo2.txt < Foo7.txt < Foo25.txt

//以下定义高于 mac os 10.5 或者高于 iphone 2.0 可用

,

NSDiacriticInsensitiveSearch = 128,//忽略 "-" 符号的比较

NSWidthInsensitiveSearch = 256,//忽略字符串的长度,比较出结果

NSForcedOrderingSearch = 512//忽略不区分大小写比较的选项,并强制返回 NSOrderedAscending 或者 NSOrderedDescending

//以下定义高于 iphone 3.2 可用

,

NSRegularExpressionSearch = 1024//只能应用于 rangeOfString:..., stringByReplacingOccurrencesOfString:...和 replaceOccurrencesOfString:... 方法。使用通用兼容的比较方法,如果设置此项,可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearch

}

range:(NSRange)

比较字符串的范围

结构变量:

location: 需要比较的字串起始位置(以0为起始)

length: 需要比较的字串长度

返回值:

typedef enum _NSComparisonResult {
     NSOrderedAscending = -1,    // < 升序
     NSOrderedSame,              // = 等于
     NSOrderedDescending   // > 降序
} NSComparisonResult;

例如,根据友盟自动更新判断版本号,升序提示更新,否则不提示

//判断NSUserDefaults忽略版本跟version是否相同

if ([[[NSUserDefaults standardUserDefaults] objectForKey:hUMtypeVersion] isEqualToString:dict[@"version"]])

{

return;

}

//不相同 判断version 是否等于 当前版本

if ([CFBundleShortVersionString compare:dict[@"version"] options:NSNumericSearch] != NSOrderedAscending)            //升序

{

return;

}

NSString 的 compare 方法的更多相关文章

  1. NSString的常见方法

    //1.创建常量字符串. NSString *astring = @"This is a String!";   //2.创建空字符串,给予赋值. NSString *astrin ...

  2. 深入解析字符串的比较方法:“==”操作符;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。

    1:要判断2个字符串变量是否相等,最高效的方法是看它们是否指向相同的内存地址.前面使用RefernceEquals方法来比较.如果2个变量指向的是不同的内存地址,那么就需要逐字符的比较2个字符串的变量 ...

  3. Java TreeSet集合排序 && 定义一个类实现Comparator接口,覆盖compare方法 && 按照字符串长度排序

    package TreeSetTest; import java.util.Iterator; import java.util.TreeSet; import javax.management.Ru ...

  4. C# 字符串比较大小 string.Compare()方法

    string.Compare方法,用来比较2个字符串值得大小 string.Compare(str1, str2, true); 返回值: 1 : str1大于str2 0 : str1等于str2 ...

  5. C#基础知识之字符串比较方法:“==”操作符;RefernceEquals;String.Equals方法;String.Compare方法;String.CompareOrdinal方法。

    一.“==”操作符:String.Equals:ReferenceEquals 方法 1.在编程中实际上我们只需要这两种比较,c#中类型也就这两种 (1)值类型的比较:一般我们就是判断两个值类型实例各 ...

  6. C#中字符串大小比较函数--CompareTo与Compare方法(需要完善补充)

    字符串比较的原理是什么? 原理: 从两个字符串的第一个字符开始逐个进行比较(按字符的ASCII值进行大小比较),直到出现不同的字符或遇到‘\0’为止. 如果全部字符都相同,就认为两字符串相等,返回0: ...

  7. 重写TreeMap的compare方法处理配置表

    需要处理的配置表如下: 接上一篇的优化,接着优化,优化代码如下:  这段代码的关键在于重写TreeMap的compare方法. 关于如何重写TreeMap的compare方法,以及返回值代表的意义,可 ...

  8. Swift3 - compare方法之ComparisonResult说明

    Swift3在实现两个对象比较时,引入了compare方法,其中,方法返回值ComparisonResult解释如下: ComparisonResult是一个枚举类型,包含了以下3个成员: 其中: q ...

  9. ios开发中object-c中UTF-8 和 GBK 的 NSString 相互转化的方法

    应用都要遇到一个很头疼的问题:文字编码,汉字的 GBK 和 国际通用的 UTF-8 的互相转化稍一不慎, 就会满屏乱码.下面介绍 UTF-8 和 GBK 的 NSString 相互转化的方法   NS ...

随机推荐

  1. 每天一个 Linux 命令(5):rm 命令

    昨天学习了创建文件和目录的命令mkdir ,今天学习一下linux中删除文件和目录的命令: rm命令.rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所 ...

  2. elastic search 配置问题

    http://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html 此处有关于ES硬件规格的建议和各种推荐参数. 内存: ...

  3. [CF #288-C] Anya and Ghosts (贪心)

    题目链接:http://codeforces.com/contest/508/problem/C 题目大意:给你三个数,m,t,r,代表晚上有m个幽灵,我有无限支蜡烛,每支蜡烛能够亮t秒,房间需要r支 ...

  4. PHP的命名空间

    简介: 防止名称冲突. 原理: 类似文件目录/usr/local这样的. 用法: namespace:定义命名空间: use:取别名: 代码示例:file 1.php <?php namespa ...

  5. backbone.js学习笔记

    之前只接触过jQuery,看来Backbone是除了jQuery的第二大JS框架... backbone到底是个啥? 其实刚开始我也不知道=_=,我是这周二才听说居然还有这么个框架...于是乎我的导师 ...

  6. web form 基础知识初整理

    WebForm的基础知识1.(IIS7的标准首页iisstart.htm)ASP.NET 是.NET开发网站应用程序的技术总称 ,有两种方法,1.webform :比如淘宝 2.MVC B/S 一种网 ...

  7. SQL Server开启READ_COMMITTED_SNAPSHOT

    --查询数据库状态 select name,user_access,user_access_desc,     snapshot_isolation_state,snapshot_isolation_ ...

  8. uniq,sort,

    语 法:uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]   补充说明: ...

  9. 快速升级php5.6

    !!yum list installed | grep phpcd /etc/yum.repos.drpm -Uvh https://mirror.webtatic.com/yum/el6/lates ...

  10. 记一次未解决的异常:java.lang.NoClassDefFoundError: net/sf/json/JSONObject

    原因:Jetty会导致这个问题,Tomcat可以正常启动   一.异常产生现象 使用json-lib转换实体类/字符串,跑单元测试没问题,但是启动jetty后调用JSONArray.fromObjec ...