詳解在Objective-C中多種字符串使用方案
在Objective-C中多種字符串使用方案是本文要介紹的內(nèi)容,主要有字符串與時(shí)間的互換、字符串的鏈接等一些內(nèi)容,我們來(lái)看詳細(xì)內(nèi)容。先來(lái)看Objective-C中字符串與日期相互轉(zhuǎn)換。
1、字符串轉(zhuǎn)換為日期
- NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//實(shí)例化一個(gè)NSDateFormatter對(duì)象
- [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//設(shè)定時(shí)間格式,這里可以設(shè)置成自己需要的格式
- NSDate *date =[dateFormat dateFromString:@"1980-01-01 00:00:01"];
2、日期轉(zhuǎn)換為字符串
- NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];//實(shí)例化一個(gè)NSDateFormatter對(duì)象
- [dateFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss"];//設(shè)定時(shí)間格式,這里可以設(shè)置成自己需要的格式
- NSString *currentDateStr = [dateFormatter stringFromDate:[NSDate date]];
Objective C中的札記--字符串連接,@selector中的冒號(hào),時(shí)間轉(zhuǎn)換,局部變量
3、字符串鏈接
預(yù)處理程序會(huì)自動(dòng)將相鄰的字符串常量鏈接到一起。字符串可以通過(guò)0或多個(gè)空格字符來(lái)分割。如:
- “a” “ character ”
- “String”
- 等價(jià)于:
- ”a character string”
常量字符串對(duì)象可通過(guò)在常量字符串前面放置一個(gè)@字符來(lái)創(chuàng)建,這種對(duì)象的類型是NSConstantString。同樣預(yù)處理程序會(huì)將相鄰的常量字符串對(duì)象鏈接在一起:例如:
- @”a” @”character “
- @”string”
等價(jià)于:
- @”a character string”
4、@selector中的方法中的冒號(hào)
在調(diào)用respondsToSelector:@selector(method)時(shí),這個(gè)method只有在該方法存在參數(shù)時(shí)需要:,如果該方法不需要參數(shù)就不需要加這個(gè)冒號(hào)。否則,編譯不會(huì)報(bào)錯(cuò),只是執(zhí)行返回的值不對(duì)。當(dāng)然如果方法有多個(gè)參數(shù),需要多個(gè)冒號(hào),參數(shù)有名稱的需要帶上參數(shù)名稱。
如:有如下方法:
- -(NSString*)toXmlString;
此時(shí)調(diào)用類似于:
- [self respondsToSelector:@selector(toXmlString)]
如果toXmlString方法的定義為:
- -(NSString*)toXmlString:(NSString*)prefix;
那么調(diào)用就必須加上冒號(hào),如:
- [self respondsToSelector:@selector(toXmlString:)]
5、Soap時(shí)間表示,以及時(shí)間日期轉(zhuǎn)換
Soap在傳輸中的日期時(shí)間的格式一般是:
- yyyy—MM-dd’T’HH:mm:ss’Z’
- (NSString*)dateToSoapString(NSDate*)date{
- NSDateFormatter* dateFormatter=[[NSDateFormatter alloc] init];
- [dateFormatter setDateFormat:@”yyyy—MM-dd’T’HH:mm:ss’Z’”];
- NSString* dateString=[dateFormatter stringFromDate:date];
- [dateFormatter release];
- return dateString;
- }
- yyyy—MM-dd’T’HH:mm:ss.SSS’Z’ 對(duì)應(yīng)的數(shù)據(jù)為:2010-07-08T07:00:53.000Z
關(guān)于時(shí)間格式請(qǐng)參考:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns
6、局部變量
局部變量一般是在方法中定義的用于保存臨時(shí)數(shù)據(jù)的變量。方法的參數(shù)名也是局部變量。執(zhí)行方法時(shí),通過(guò)方法傳遞的任何參數(shù)都被復(fù)制到局部變量中。因?yàn)榉椒ㄊ褂玫氖菂?shù)的副本,所以不能改變通過(guò)方法傳遞的原值,當(dāng)然如果傳遞是類實(shí)例的話,類實(shí)例中的對(duì)象或?qū)傩允强梢酝ㄟ^(guò)方法改變其值的。
如果在變量前面加上一個(gè)static關(guān)鍵字的話,那么變量就變成了靜態(tài)變量。靜態(tài)變量只在程序開(kāi)始執(zhí)行時(shí)初始化一次,并且自始至終只保存一個(gè)值:
如:
- -(void) showPage{
- static int pageCount=0;
- …
- pageCount++;
- …
- }
該方法的pageCount可以記錄showPage被調(diào)用的次數(shù)。
小結(jié):詳解在Objective-C中多種字符串使用方案的內(nèi)容介紹完了,希望本文對(duì)你有所幫助!