最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ios學習筆記之基礎數(shù)據(jù)類型的轉(zhuǎn)換

 更新時間:2016年11月16日 08:47:20   投稿:daisy  
在編碼過程中,數(shù)據(jù)的處理是必要的。眾多數(shù)據(jù)中,NSString、NSData、NSArray、 NSDictionary等數(shù)據(jù)類型是常用的,對付它們?nèi)菀?,但是在多個數(shù)據(jù)類型之間轉(zhuǎn)換就需要技巧了。本文主要給大家介紹ios中基礎數(shù)據(jù)類型的轉(zhuǎn)換,有需要的下面來一起看看吧。

前言

前幾天在做一些小功能的時候,忽然發(fā)現(xiàn)有的基礎數(shù)據(jù)轉(zhuǎn)換都忘記了,于是趕緊整理下記下來!方便自己以后查閱,也給有需要的朋友們一些參考,下面話不多說,來看詳細的內(nèi)容。

一、NSString

字符串拼接:

NSString *string = [NSString stringWithFormat:@"%@%@",對象,對象];

字符串與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:data
encoding: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];

三、布爾類型(在計算機內(nèi)部以int類型存儲)

布爾類型是_Bool(別名BOOL),取值范圍是1或0,其中1可以用TURE和YES表示,0可以用FALSE和NO表示。

四、枚舉類型(在計算機內(nèi)部以int類型存儲)

如果需要定義一組相關常量,可以采用枚舉類型,把這些常量定義成一個類型,例如游戲在上、下、左、右方向,可以枚舉類型:enum direction{up,down,left,right}.其中,up從0開始,down是1,以此類推加1。如果不想從0開始,也可以指定初始值,如:enum direction{up=1,down,left,right}

五、nil、NULL、NSNull

     1.nil用來給對象賦值(OC的任何對象都屬于id類型),Null則給任何指針賦值,NULL和nil不能互換,nil用于類指針賦值(在OC中類是一個對象,是類的meta-class的實例),而NSNull則用于集合操作,雖然它們表示的都是空值,但使用場合不同。

     2.OC有個特性,就是當發(fā)送消息給nil對象使,系統(tǒng)返回0值而不是引起異常,這和Java的NullPointerException以及C/C++的程序直接崩潰的處理完全不同,因為nil是對象的合法值,nil對象同樣可以接收消息。

     3.nil被定義為空對象,也就是值為0的對象。

六、id類型

     1.在OC中最普遍的3種類型就是id、Class和SEL, id就是指向OC對象的指針,它等價于C語言中的void *,可以映射任何對象指針類型指向它,或者映射它指向其他的對象。當然,也可以傳遞任何消息給id,但如果該id不支持這個消息就會返回一個運行時異常。

     2.id數(shù)據(jù)類型可存儲任何類型的對象。從某種意義上說,它是一般對象類型。如果要用基本類型代替,需要對基本數(shù)據(jù)類型進行封裝。

     3.id是一個指向任何一個繼承了Object(或者NSObject)類的對象。需要注意的是,id
是一個指針,所以在使用id的時候不需要加星號。例如:id foo = nil;

4.在OC中,id取代了int類型成為默認的數(shù)據(jù)類型(在C語言上的函數(shù)返回值,int是默認的返回類型)。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作帶來一定的幫助,如果有疑問大家可以留言交流。

相關文章

最新評論

香港 | 西平县| 蕲春县| 沧源| 方山县| 中西区| 辉县市| 吉安市| 乐亭县| 鲁山县| 兴城市| 宝清县| 安仁县| 沂水县| 陇西县| 平凉市| 三台县| 台安县| 裕民县| 裕民县| 顺义区| 黎平县| 绥芬河市| 阿荣旗| 龙井市| 夏河县| 安康市| 三台县| 巧家县| 新巴尔虎左旗| 勐海县| 沐川县| 遂宁市| 大埔区| 广东省| 宁安市| 胶州市| 原阳县| 紫云| 兴仁县| 贡觉县|