iOS資料型別轉換。

2021-07-09 18:52:21 字數 2487 閱讀 5272

(一)基本資料與字串之間轉換。

nsstring *tempa = @"123";

nsstring *tempb = @"456";

1,字串拼接

nsstring *newstring = [nsstring stringwithformat:@"%@%@",tempa,tempb];

2,字元轉int

int intstring = [newstring intvalue];

3,int轉字元

nsstring *stringint = [nsstring stringwithformat:@"%d",intstring];

4,字元轉float

float floatstring = [ newstringfloatvalue];

5,float轉字元

nsstring *stringfloat = [nsstring stringwithformat:@"%f",intstring];

(二)結構體與字串的轉換

結構體轉字串

nsstring *nsstringfromcgpoint(cgpoint point);

nsstring *nsstringfromcgvector(cgvector vector);

nsstring *nsstringfromcgsize(cgsize size);

nsstring *nsstringfromcgrect(cgrect rect);

nsstring *nsstringfromcgaffinetransform(cgaffinetransform transform);

nsstring *nsstringfromuiedgeinsets(uiedgeinsets insets);

nsstring *nsstringfromuioffset(uioffset offset);

字串轉 結構體

cgpoint cgpointfromstring(nsstring *string);

cgvector cgvectorfromstring(nsstring *string);

cgsize cgsizefromstring(nsstring *string);

cgrect cgrectfromstring(nsstring *string); //我們在監聽高度變化時需要用這個 ,獲取鍵盤的frame 值,就是從乙個 string型別中取出 cgrect!

cgaffinetransform cgaffinetransformfromstring(nsstring *string);

uiedgeinsets uiedgeinsetsfromstring(nsstring *string);//距離邊界的距離,上左下右的順序!

uioffset uioffsetfromstring(nsstring *string);

(三)基本資料型別與物件轉換

1.foundation框架中提供了很多的集合類如:nsarray,nsmutablearray,nsset,nsmutableset,nsdictionary,nsmutabledictionary但是這些類只能存放oc物件型別的資料

2.如果要存放基本資料型別,必須先將基本暑假型別包裝成物件型別然後再用集合類進行儲存,oc中提供的包裝類是nsnumber,nsvalue。其中nsnumber繼承於nsvalue。

3.nsnumber主要針對於基本資料型別的包裝,nsvalue主要針對結構體進行包裝

4.將包裝成nsnumber或nsvalue物件型別後存放在陣列中, 然後從集合類中取出nsnumber、nsvalue物件再轉換成為基本資料類例:

//講int基本資料型別包裝成nsmumber物件型別

int a = 5;

nsnumber *a = [nsnumber alloc]initwithint:a];

5.系統中定義:

+ (nsnumber

*)numberwithchar:(char)value;

+ (nsnumber

*)numberwithint:(int)value;

+ (nsnumber

*)numberwithunsignedint:(unsigned

int)value;

+ (nsnumber

*)numberwithlong:(long)value;

+ (nsnumber

*)numberwithunsignedlong:(unsigned

long)value;

等常用的方法

可以看出雖然nsnumber提供了很多將基本資料型別轉換成為nsnumber物件的方法,但是這樣寫起來太麻煩,xcode編譯器新特性支援 @[(基本資料型別)]方式,可以直接將基本資料型別轉換稱為nsnumber物件型別。可以看出將int,double等基本資料型別在直接轉換就是在前面加@,如果是變數就用()將變數括起來

iOS 資料型別之間的轉換

在編碼過程中,資料的處理是必要的。眾多資料中,nsstring nsdata nsarray nsdictionary等資料型別是常用的,對付它們容易,但是在多個資料型別之間轉換,就需要技巧啦。可能不全面,根據lz本身專案需求,一直在新增,望給大家提供方便 在編碼過程中,資料的處理是必要的。眾多資料...

資料型別 型別轉換

這樣的語句將報錯,因為char型別精度低於int型別,編譯器無法將其自動轉換,只能進行強制轉換 int x 65 char ch char x 舉例1 int age 19 char 女 char result age int 不可以自動轉換成char 精度損失 舉例2 int a 10 int b...

Objective C資料型別 資料型別轉換

資料型別 1.objective c資料型別可以分為 基本資料型別 物件資料型別和id型別。2.基本資料型別有 int float double和char型別。3.物件型別就是類或協議所宣告的指標型別,例如 nsautoreleasepool pool 其中,nsautoreleasepool是乙個...