本文主要介紹了iOS中對象指針和基礎數據類型如何進行強轉,下面話不多說,直接來看示例詳解。
一、對象指針的強轉:
UIView *view = [UIView new];//new一個UIView類的對象 UILabel *label = (UILabel *)view;//強轉成UILabel指針 label.text = @"123";//給label的text屬性賦值(調用label的setText方法)
上述代碼會產生崩潰,崩潰信息如下:
-[UIView setText:]: unrecognized selector sent to instance 0x7ff1e14e03a0
總結:強轉對象指針不會改變內存裡存儲的對象類型,原本是什麼類的對象,強轉後並不會發生改變,只是能方便調用強轉到的類中的方法和屬性。
二、C基礎數據類型的強轉:
float weight = 60.12; NSLog(@"%d",(int)weight);
打印的信息為:60
則強轉修改了原來的值:0.12被捨棄
int height = 70; NSLog(@"%f",(float)height);
打印的信息為:70.000000
在原來值的基礎上多加了.000000成為float類型,也許只是強轉之後能用%f正確打印height的值了
因為
int height = 70; NSLog(@"%f",height);
打印的信息為:0.000000
此處對C基礎數據類型強轉的探索僅供參考。
總結
以上就是這篇文章的全部內容了,希望本文的內容對各位iOS開發者們能有所幫助,如果有疑問大家可以留言交流。