本文次要引見了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開發者們能有所協助,假如有疑問大家可以留言交流。
【iOS對象指針和根底數據類型的強轉詳解】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!