ios學習筆記之基礎資料類型的轉換_IOS

來源:互聯網
上載者:User

前言

前幾天在做一些小功能的時候,忽然發現有的基礎資料轉換都忘記了,於是趕緊整理下記下來!方便自己以後查閱,也給有需要的朋友們一些參考,下面話不多說,來看詳細的內容。

一、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: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轉NSData

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];

三、布爾類型(在電腦內部以int類型儲存)

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

四、枚舉類型(在電腦內部以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有個特性,就是當發送訊息給nil對象使,系統返回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資料類型可儲存任何類型的對象。從某種意義上說,它是一般物件類型。如果要用基本類型代替,需要對基礎資料型別 (Elementary Data Type)進行封裝。

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

4.在OC中,id取代了int類型成為預設的資料類型(在C語言上的函數傳回值,int是預設的傳回型別)。

總結

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.