前言
前幾天在做一些小功能的時(shí)候,忽然發(fā)現(xiàn)有的基礎(chǔ)數(shù)據(jù)轉(zhuǎn)換都忘記了,于是趕緊整理下記下來!方便自己以后查閱,也給有需要的朋友們一些參考,下面話不多說,來看詳細(xì)的內(nèi)容。
一、NSString
字符串拼接:
NSString *string = [NSString stringWithFormat:@"%@%@",對(duì)象,對(duì)象];
字符串與int
int intString = [newString intValue];NSString *string = [NSString stringWithFormat:@"%d",intSteing];
字符串與float
float floatString = [newString floatValue];NSString *string = [NSString stringWithFormat:@"%f",floatString];
NSData與字符串
NSString *dataStr = [[NSString alloc] initWithData:dataencoding:NSUTF8StringEncoding];NSData *strData = [dataStr dataUsingEncoding: NSUTF8StringEncoding];
二、NSData
NSData與Byte
NSString *testString = @"1234567890";NSData *byteData = [testString dataUsingEncoding:NSUTF8StringEncoding]; Byte *testByte = (Byte *)[byteData bytes];//----------------------------------------------------Byte byte[] ={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23};NSData *adata = [[NSData alloc] initWithBytes:byte length:24];NSData與UIImage
UIImage *aimage = [UIImage imageWithData: imageData];NSData *imageData = UIImagePNGRepresentation(aimae);
json轉(zhuǎn)NSData
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
三、布爾類型(在計(jì)算機(jī)內(nèi)部以int類型存儲(chǔ))
布爾類型是_Bool(別名BOOL),取值范圍是1或0,其中1可以用TURE和YES表示,0可以用FALSE和NO表示。
四、枚舉類型(在計(jì)算機(jī)內(nèi)部以int類型存儲(chǔ))
如果需要定義一組相關(guān)常量,可以采用枚舉類型,把這些常量定義成一個(gè)類型,例如游戲在上、下、左、右方向,可以枚舉類型:enum direction{up,down,left,right}.其中,up從0開始,down是1,以此類推加1。如果不想從0開始,也可以指定初始值,如:enum direction{up=1,down,left,right}
五、nil、NULL、NSNull
1.nil用來給對(duì)象賦值(OC的任何對(duì)象都屬于id類型),Null則給任何指針賦值,NULL和nil不能互換,nil用于類指針賦值(在OC中類是一個(gè)對(duì)象,是類的meta-class的實(shí)例),而NSNull則用于集合操作,雖然它們表示的都是空值,但使用場合不同。
2.OC有個(gè)特性,就是當(dāng)發(fā)送消息給nil對(duì)象使,系統(tǒng)返回0值而不是引起異常,這和Java的NullPointerException以及C/C++的程序直接崩潰的處理完全不同,因?yàn)閚il是對(duì)象的合法值,nil對(duì)象同樣可以接收消息。
3.nil被定義為空對(duì)象,也就是值為0的對(duì)象。
六、id類型
1.在OC中最普遍的3種類型就是id、Class和SEL, id就是指向OC對(duì)象的指針,它等價(jià)于C語言中的void *,可以映射任何對(duì)象指針類型指向它,或者映射它指向其他的對(duì)象。當(dāng)然,也可以傳遞任何消息給id,但如果該id不支持這個(gè)消息就會(huì)返回一個(gè)運(yùn)行時(shí)異常。
2.id數(shù)據(jù)類型可存儲(chǔ)任何類型的對(duì)象。從某種意義上說,它是一般對(duì)象類型。如果要用基本類型代替,需要對(duì)基本數(shù)據(jù)類型進(jìn)行封裝。
3.id是一個(gè)指向任何一個(gè)繼承了Object(或者NSObject)類的對(duì)象。需要注意的是,id
是一個(gè)指針,所以在使用id的時(shí)候不需要加星號(hào)。例如:id foo = nil;
4.在OC中,id取代了int類型成為默認(rèn)的數(shù)據(jù)類型(在C語言上的函數(shù)返回值,int是默認(rèn)的返回類型)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作帶來一定的幫助,如果有疑問大家可以留言交流。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注