捷徑系列 NSString

2021-06-16 06:20:19 字數 2910 閱讀 9780

。無論是學習還是開發都可以從這裡獲得很多有用的**段,從而省去了很多調查和搜尋的時間。

1 合併乙個字串陣列到單個字串。

nsarray *chunks  = ... get an array, say by splitting it;  

string = [chunks componentsjoinedbystring: @" :-) "]; 

輸出結果如下:

oop :-) ack :-) bork :-) greeble :-) ponies 

2 將乙個字串分割成陣列

nsstring *string = @"oop:ack:bork:greeble:ponies";  

nsarray *chunks = [string componentsseparatedbystring: @":"]; 

3 將字串轉換成整型數

nsstring *string = ...;  

int value = [string intvalue]; 

同樣nsstring也有floatvalue和doublevalue的方法。

4 遍歷屬性字串(attributed string)中的屬性

如下函式可以列印出輸入的屬性字串中的所有屬性

- (void) iterateattributesforstring: (nsattributedstring *) string  

;  do  while (nsmaxrange(effectiverange) < [string length]);  

}

5 製作本地化的字串

你需要在english.lproj目錄(或其他合適的本地化目錄)中有乙個名為localizable.strings的檔案。它有如下的語法: 

"borkdown" = "borkdown";  

"start timer" = "start timer";  

"stop timer" = "stop timer"; 

也就是,每個鍵值都有乙個本地化的值。

在**中,可以使用nslocalizedstring()或其變種。

[statusitem settitle: nslocalizedstring(@"borkdown", nil)]; 

其中該函式忽略了第二個引數。

#include <

stdarg.h

>

void logit (nsstring *format, ...)  

- (nsattributedstring *) prettyname  

8 除去字串中的換行符

假定有乙個字串,你想除去換行符。你可以像指令碼語言一樣進行乙個分割/合併操作,或者製作乙個可變的拷貝並進行處理:

nsmutablestring *mstring = [nsmutablestring stringwithstring:string];  

nsrange wholeshebang = nsmakerange(0, [mstring length]);  

[mstring replaceoccurrencesofstring: @"  

withstring: @""  

options: 0  

range: wholeshebang];  

return [nsstring stringwithstring: mstring]; 

(這也可用於通用的字串操作,不僅經是除去換行符)

該方法比分割/合併至少省一半的時間。當然可能結果不會造成太多的不同。在乙個簡單的測試中,處理乙個1.5兆檔案中36909個新行,分割/合併操作花費了0.124秒,而上述方法僅需0.071秒。

9 字串匹配

nsrange range = [[string name] rangeofstring: otherstring options: nscaseinsensitivesearch]; 

10 今天日期的字串

將乙個日期轉換成字串的通用方法就是通過nsdateformatter。有時你想生成乙個格式比較友好的日期字串。比如你需要"december 4, 2007",這種情況下就可以使用:

[[nsdate date] descriptionwithcalendarformat: @"%b %e, %y" timezone: nil locale: nil] 

(感謝mike morton提供該方法)

11 除去字串末尾的空格

nsstring *ook = @"/n /t/t hello there /t/n  /n/n";  

nsstring *trimmed =  

[ook stringbytrimmingcharactersinset:  

[nscharacterset whitespaceandnewlinecharacterset]];  

nslog(@"trimmed: '%@'", trimmed); 

輸出結果是:

2009-12-24 18:24:42.431 trim[6799:903] trimmed: 'hello there'

圖形1 繪製乙個粗體字串

- (void) drawlabel: (nsstring *) label  

atpoint: (nspoint) point  

bold: (bool) bold  else   

[label drawatpoint: point  withattributes: attributes];;  

}

分類: 

iphone

捷徑無水印 最新捷徑 隱藏字捷徑

捷徑無水印 最新捷徑 in microsoft word,recording a macro is just a double click away.normally,to record a macro in word,you d click on the tools menu,then click...

成功的捷徑

什麼是成功了?成功有捷徑嗎?我們做技術的,有的想向上或成為架構師 或轉向管理,這有捷徑嗎?有,我相信,最原始最實在的路就是捷徑。無論是做人還是做技術,首先我們都需要 誠實 正直 踏實。這是基礎。只有誠實,才能獲得別人的信任。耍弄小聰明,實際上是在玩自己。只有正直,才能令別人信服,這是做管理者的先決條...

成功的捷徑?

什麼是成功了?成功有捷徑嗎?我們做技術的,有的想向上或成為架構師 或轉向管理,這有捷徑嗎?有,我相信,最原始最實在的路就是捷徑。無論是做人還是做技術,首先我們都需要 誠實 正直 踏實。這是基礎。只有誠實,才能獲得別人的信任。耍弄小聰明,實際上是在玩自己。只有正直,才能令別人信服,這是做管理者的先決條...