日韩性视频-久久久蜜桃-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 日记③ 字符串的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产aⅴ无码片毛片一级一区2 | av日日操 | 亚洲性生活网站 | www.天天操| 131mm少妇做爰视频 | 国产精品视频免费播放 | 91嫩草在线| 国产超91 | 日韩av线上| 久久久视频在线观看 | 少妇免费毛片久久久久久久久 | 亚洲最大黄色 | 一级黄色大片 | 久久久香蕉视频 | 天堂av2019 | 日本捏奶吃奶的视频 | 天天插综合 | 干操网| 久久精品视频中文字幕 | 黄色av网站免费观看 | а天堂中文在线官网 | 亚洲熟妇av一区二区三区 | 日韩精品一区二区三区免费视频 | 成人中文字幕在线观看 | 女人18毛片毛片毛片毛片区二 | 在线观看色网 | 一区视频免费观看 | 久久涩| av尤物 | 亚洲第一成年网 | 91传媒理伦片在线观看 | 伊人天天| avtt中文字幕| 黄色高清视频 | 好屌妞视频这里有精品 | 国产人成一区二区三区影院 | 玖玖五月 | youjizzcom日本| 亚洲毛片在线观看 | 久久女同互慰一区二区三区 | 欧美激情一区二区三区蜜桃视频 | 国产一区二区在线看 | 午夜精品久久久久久久蜜桃 | 三区在线视频 | 香蕉久久av一区二区三区 | 性生交大片免费看l | 国产精品性爱在线 | av资源网址 | 精品一区中文字幕 | 黄色三级网络 | 久久久久国产精品国产 | 日本黄色精品 | 日韩一级性生活片 | 日韩av在线网址 | 中文字幕视频免费 | 农村妇女毛片 | 色播久久| 亚洲精选久久 | 亚洲欧美一区二区精品久久久 | 久操国产视频 | 日韩在线视频网站 | 先锋av网 | 国产亚洲久一区二区 | 福利片在线观看 | 三级伦理视频 | 日本色综合网 | 不卡av网 | sm国产在线调教视频 | 欧美性猛交xxx乱久交 | 日韩夫妻性生活 | 日本真人做爰免费视频120秒 | 农村偷人一级超爽毛片 | 国产精品久久久久影院老司 | 久草视频精品在线 | 色一情一乱一区二区三区 | 国产91av视频 | aa视频网站| 欧美亚洲一区二区在线观看 | 久久久伦理片 | 影音先锋男人站 | 久久精品视频2 | 午夜色网 | 久久久久亚洲av成人网人人软件 | 国产视频九色蝌蚪 | 日韩影视在线 | 成人黄色在线观看视频 | 69xav| 日本在线视频免费观看 | 韩国三级做爰视频 | 久草热视频 | 成人精品网| www.在线国产| 91看片国产| 奇米色777 | 亚洲国产视频网站 | 女性裸体视频网站 | 99超碰在线观看 | 国产在线极品 | 亚洲午夜在线视频 |