日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Objective-C 日记③ 字符串

發布時間:2025/3/17 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Objective-C 日记③ 字符串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、創建字符串、類方法 

  公式創建NSString

  +(id) stringWithFormat:(NSString *) format,……;

eg:

  NSString *height;

  height=[NSString stringWithFormat:@"高度是: %d 長度: %d",10,20];

得到的字符串:“高度是: 10 長度: 20”

?

注意:

  省略號:表示可以接收多個參數,類似NSLog();

  加號:“+” Object-C運行時生成一個類的時候,會創建一個代表該類的類對象(類對象包含:指向超類的指針、類名、指向類方法列表的指針)

  如何在聲明方法時添加了加號,該方法就為類方法.這個方法屬于類對象(而不是類的實例對象),常用于創建新的實例。我們稱這種用來創建新對象的類方法為工廠方法(stringWithFormat就是一個工廠方法)

?

  如果該方法將會在某個對象實例中運行 方法用前導減號(-)來開始聲明

  如果創建一個實例對象或者訪問一些全局類數據,建議使用前導加號(+)將它聲明為類的方法

二、關于大小、字符串比較

關于大小:

  NSString中包含一個方便的方法length,返回的是字符串中的字符個數

  使用:unsigned int length = [height length];

  說明:NSString的length方法能夠準確無誤處理國際字符串:比如中文以及使用Unicode國際字符標準的字符串這點和C語言不同,C語言可能出現一個字符占用的空間可能多于一個字符

?

字符串比較:

  A:isEqualToString:用來比較接收方和當作參數傳遞來的字符串。返回一個BOOL(YES or NO 不是true,false)類型來表示字符串內容是否相同。格式:-(BOOL) isEqualToString:(NSString *) aString;

  eg:

NSString *str1 = @"hello pepe";NSString *str2=[NSString stringWithFormat:@"hello %s","pepe"];if([str1 isEqualToString:str2]){NSLog(@"相同");}else{NSLog(@"不同");}

  結果當然是“相同”

  

?????

  B:compare方法 聲明如下:-(NSComparisonResult) compare: (NSString *) string

  ?compare將接收對象和傳遞來的字符串逐個字符的進行比較,返回一個NSComparisonResult(enum型數據)來顯示比較結果。

  eg:

    

BOOL result=[@"kaka" compare: @"pepe"];NSLog(@"%s","kaka vs pepe");NSLog(@"%d",result);result=[@"kaka" compare: @"kaka"];NSLog(@"%s","kaka vs kaka");NSLog(@"%d",result);result=[@"pepe" compare: @"kaka"];NSLog(@"%s","pepe vs kaka");NSLog(@"%d",result);

  結果:

  

??????

  注意:

    比較兩個字符串是否相等時請用isEqualToString而不能僅僅比較字符串的指針值;

    eg: ? ?

    if([str1 isEqualToString:str2]){???NSLog(@"相同"); }???????????????????????????? VS????? ? ? if( str1==str2){? NSLog(@"相同");??? }

    注意二者的區別:1、==運算符只判斷str1和str2的指針數值,而不是它們所指的對象

            2、如果想檢查兩個對象的標識此時可以使用==

            3、如果想查看等價性使用isEqualToString
?? ??? ???   
?? ?  ?

    compare 比較字符串返回的結果有下面幾種:

    

? ? ? ? ? ?

?

  C:不區分大小寫比較

    -(NSComparisonResult) compare: (NSString *) string options: (unsigned) mask;??[k?m'p?ris?n]??比較;對照;比喻;比較關系

    options參數是一個位掩碼,可以使用位或運算符(|)來添加選項標記:

      NSCaseInsensitiveSearch:不區分大小寫比較; ?[in'sens?tiv]?adj. 感覺遲鈍的,對…沒有感覺的

      NSLiteralSearch:進行完全比較,區分大小寫; ? ?['lit?r?l]?adj. 文字的;逐字的;無夸張的

      NSNumericSearch:比較字符串字符個數,而不是字符值;??[nju:'merik]?數;數字?adj. 數值的(等于mumerical);數字的

?

    eg:

      

? ? ? ? ? ? ? ?

?

?

?  D:字符串中是否包含其他字符串

    查詢頭尾是否包含某字符串:hasPrefix 、hasSuffix

    -(BOOL) hasPrefix :(NSString * ) string; ?檢查字符串是否以某個字符串開頭。 ? ? ? ??[,pri:'fiks, 'pri:fiks]?加前綴;將某事物加在前面

    -(BOOL) hasSuffix: (NSString *) string; ? 檢查字符串是否以某個字符串結尾。 ? ? ? ? ['s?fiks, s?'fiks]?vt. 添后綴?n. [語]后綴;下標

?  eg:   

? ? ? ? ? ?

?  查詢字符串內是否包含某字符串:rangeOfString 返回一個NSRange struct可以告訴你字符串相匹配的部分在哪里以及匹配的字符個數

    -(NSRange) rangeOfString:(NSString *) string;

  location用來存放字段范圍的起始位置

  length是該范圍內所含元素的個數

  eg:    

? ? ? ? ??

?

  

三、可變性   ?

  NSString是不可變的字符串,如果需要使用可變字符串,Cocoa提供了一個NSString子類NSMutableString。

  格式

    -(id) stringWithCapacity:(unsigned) capacity;

  可通過appendString、appendFormat來添加新字符串:-(void)appendString:(NSString *)string ; -(void) appendFormat:(NSString *)format……;

  說明:

    appendString接收參數string,然后將其復制到字符串對象的結尾

    appendFormat與stringWithFormat類似,但它是將格式化的字符串附加到接收字符串的尾部,而不是創建新的字符串對象;

  eg:   

? ? ? ? ?

  使用deleteCharactersInRange方法刪除字符串中的字符:

    -(void)deleteCharactersInRange:(NSRange) range;

  因NSMutableString是NSString的子類所以NSString的方法NSMutableString都可以使用

  eg:  

? ? ? ? ?

?

?

?

?

?

?

?

?

?

?

?

?

?


作者:PEPE
出處:http://pepe.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。

總結

以上是生活随笔為你收集整理的Objective-C 日记③ 字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产呦系列| 捅肌肌 | 中国特级黄色片 | 免费成人结看片 | 国产一级二级三级在线 | 成人性生活视频 | 色戒av| 十八禁视频网站在线观看 | 亚洲AV无码片久久精品 | 四季av一区二区凹凸精品 | 麻豆精品国产 | 校花被c到呻吟求饶 | 久久精品店 | 伦理片波多野结衣 | 欧美不卡二区 | 青青草综合 | 欧洲av一区 | 亚洲视频在线一区 | www.亚洲欧美 | aaa国产| 女人张开腿让男人桶爽 | 绝顶高潮合集videos | 91区国产| 国产suv精品一区二区三区 | 人妻天天爽夜夜爽一区二区三区 | 日本不卡视频一区二区三区 | 99毛片| 村姑电影在线播放免费观看 | 亚洲av综合色区无码一区 | 久久伊人精品视频 | 熟女人妻在线视频 | 日韩精品一二区 | 亚洲精品成人网 | 亚洲高清色 | 色涩网站 | 日本中文字幕在线观看 | 夜夜爽天天爽 | 佐山爱在线视频 | 日本在线三级 | 久久成人a毛片免费观看网站 | 少妇情理伦片丰满午夜在线观看 | 亚洲欧美一区二区三区在线 | 一级免费片 | 神马午夜精品95 | www.国产视频.com | bangbros性欧美18 | 国产老头和老头xxxx× | 中文字幕+乱码+中文字幕一区 | 狠狠97| 久久2019| 产乳奶汁h文1v1| 性涩av| 天天操天天拍 | 韩国中文三级hd字幕 | 亚洲2022国产成人精品无码区 | 精品视频免费观看 | 在线观看的黄色网址 | 少妇精品偷拍高潮白浆 | 91青青视频 | www.色人阁.com| 亚洲青涩| 亚洲国产成人精品激情在线 | 99国产精品免费视频 | 高柳家在线观看 | 中文视频一区 | 顶臀精品视频www | 伊人中文网 | 欧美性久久久久 | 国产一区二区精品久久 | 亚洲国产成人精品久久久 | 日韩高清专区 | 欧美成人黄 | 欧美日韩中文字幕一区二区三区 | 韩国妻子的朋友 | 99久久精品免费看国产免费软件 | 亚洲欧美另类日韩 | 一区在线观看 | 12av毛片| 成人在线免费高清视频 | 欧美一区二区视频在线 | 国产激情久久久 | 成人日韩视频 | yy4138理论片动漫理论片 | 日韩乱码人妻无码系列中文字幕 | 视频在线观看一区 | 国精品一区二区 | 国产一级黄 | 精品在线免费观看视频 | 999久久久 | 又黄又刺激的视频 | 天堂在线视频 | 强乱中文字幕av一区乱码 | 婷婷视频网 | 国产吞精囗交久久久 | 亚洲精品一区二三区 | 打白嫩屁屁网站视频短裙 | 天堂网视频在线观看 | 一二三区免费视频 | 天天爽天天爽天天爽 |