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