iOS compare 字符串比較

IOS compare 字符串比較

NSString 比較字符串航厚,我介紹一些常用的方法:(轉(zhuǎn)載的??)

NSString *value = @"1234567890";
比較的方法:
[value compare:(NSString *)];
[value compare:(NSString *) options:(NSStringCompareOptions)];
[value compare:(NSString *) options:(NSStringCompareOptions) range:(NSRange)];
傳入的參數(shù):
compare:(NSString *)
傳入一個(gè)需要比較的字符串。
例如 [value compare:@"1234567890"]锰蓬,返回 NSOrderedSame幔睬。
 
options:(NSStringCompareOptions)
傳入 NSStringCompareOptions 枚舉的值
enum{
    NSCaseInsensitiveSearch = 1,//不區(qū)分大小寫比較
    NSLiteralSearch = 2,//區(qū)分大小寫比較
    NSBackwardsSearch = 4,//從字符串末尾開始搜索
    NSAnchoredSearch = 8,//搜索限制范圍的字符串
    NSNumbericSearch = 64//按照字符串里的數(shù)字為依據(jù),算出順序芹扭。例如 Foo2.txt < Foo7.txt < Foo25.txt
//以下定義高于 mac os 10.5 或者高于 iphone 2.0 可用
    ,
    NSDiacriticInsensitiveSearch = 128,//忽略 "-" 符號的比較
    NSWidthInsensitiveSearch = 256,//忽略字符串的長度麻顶,比較出結(jié)果
    NSForcedOrderingSearch = 512//忽略不區(qū)分大小寫比較的選項(xiàng),并強(qiáng)制返回 NSOrderedAscending 或者 NSOrderedDescending
//以下定義高于 iphone 3.2 可用
    ,
    NSRegularExpressionSearch = 1024//只能應(yīng)用于 rangeOfString:..., stringByReplacingOccurrencesOfString:...和 replaceOccurrencesOfString:... 方法舱卡。使用通用兼容的比較方法澈蚌,如果設(shè)置此項(xiàng),可以去掉 NSCaseInsensitiveSearch 和 NSAnchoredSearch
}
range:(NSRange)
比較字符串的范圍
 結(jié)構(gòu)變量:
location: 需要比較的字串起始位置(以0為起始)
length: 需要比較的字串長度
 
返回值:
typedef enum _NSComparisonResult {
     NSOrderedAscending = -1,    // < 升序
     NSOrderedSame,              // = 等于
     NSOrderedDescending   // > 降序
} NSComparisonResult;
例子:版本號比較
    NSString *num1 = @"5.2.0";
    NSString *num2 = @"5.3.0";
 
    if ([num1 compare:num2 options:NSNumericSearch] == NSOrderedDescending)
    {
        ULog(@"%@ is bigger",num1);
    }else
    {
        ULog(@"%@ is bigger",num2);
    }

解釋:
NSOrderedDescending是降序灼狰,如果numb1>numb2用這個(gè)函數(shù)相比較那么就等于降序

應(yīng)用實(shí)例

    // 獲取當(dāng)前版本號
    NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
    NSString *appVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];
    if ([appVersion compare:serverVersion options:NSNumericSearch] == NSOrderedAscending) {
        UIAlertView *alert;
        alert = [[UIAlertView alloc] initWithTitle:@"有新版本,是否升級!"
                                           message:message
                                          delegate: self
                                 cancelButtonTitle:@"取消"
                                 otherButtonTitles: @"升級", nil];
        alert.tag = 20;
        [alert show];
    }else{
        NSLog(@"沒有新版本");
    }
//上一次本地存儲的版本號    
    NSString *lastVersion = [[NSUserDefaults standardUserDefaults] objectForKey:@"Version"];
// 獲取當(dāng)前版本號
    NSString *currentVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
    
    if (lastVersion == nil || [currentVersion compare:lastVersion options:NSNumericSearch] == NSOrderedDescending){
        NSArray *imageArray = @[@"guidePage_1.png",@"guidePage_2.png",@"guidePage_3.png"];
        GuidePageView * guidePageView = [[GuidePageView alloc]initWithFrame:self.window.bounds imageArray:imageArray];
        [tabBar.view addSubview: guidePageView];
        
        //第一次進(jìn)入完成后 記錄一下
        [[NSUserDefaults standardUserDefaults]setObject:[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"] forKey:@"Version"];
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末浮禾,一起剝皮案震驚了整個(gè)濱河市交胚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盈电,老刑警劉巖蝴簇,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異匆帚,居然都是意外死亡熬词,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門吸重,熙熙樓的掌柜王于貴愁眉苦臉地迎上來互拾,“玉大人,你說我怎么就攤上這事嚎幸⊙湛螅” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵嫉晶,是天一觀的道長骑疆。 經(jīng)常有香客問我田篇,道長,這世上最難降的妖魔是什么箍铭? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任泊柬,我火速辦了婚禮,結(jié)果婚禮上诈火,老公的妹妹穿的比我還像新娘兽赁。我一直安慰自己,他們只是感情好柄瑰,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布闸氮。 她就那樣靜靜地躺著,像睡著了一般教沾。 火紅的嫁衣襯著肌膚如雪蒲跨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天授翻,我揣著相機(jī)與錄音或悲,去河邊找鬼。 笑死堪唐,一個(gè)胖子當(dāng)著我的面吹牛巡语,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播淮菠,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼男公,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了合陵?” 一聲冷哼從身側(cè)響起枢赔,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎拥知,沒想到半個(gè)月后踏拜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡低剔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年速梗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片襟齿。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡姻锁,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出猜欺,到底是詐尸還是另有隱情屋摔,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布替梨,位于F島的核電站钓试,受9級特大地震影響装黑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜弓熏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一恋谭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧挽鞠,春花似錦疚颊、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嫁赏,卻和暖如春其掂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背潦蝇。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工款熬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人攘乒。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓贤牛,卻偏偏與公主長得像,于是被迫代替她去往敵國和親则酝。 傳聞我的和親對象是個(gè)殘疾皇子殉簸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容