本文主要介紹了iOS中對(duì)象指針和基礎(chǔ)數(shù)據(jù)類型如何進(jìn)行強(qiáng)轉(zhuǎn),下面話不多說,直接來看示例詳解。
一、對(duì)象指針的強(qiáng)轉(zhuǎn):
UIView *view = [UIView new];//new一個(gè)UIView類的對(duì)象UILabel *label = (UILabel *)view;//強(qiáng)轉(zhuǎn)成UILabel指針label.text = @"123";//給label的text屬性賦值(調(diào)用label的setText方法)
上述代碼會(huì)產(chǎn)生崩潰,崩潰信息如下:
-[UIView setText:]: unrecognized selector sent to instance 0x7ff1e14e03a0
總結(jié):強(qiáng)轉(zhuǎn)對(duì)象指針不會(huì)改變內(nèi)存里存儲(chǔ)的對(duì)象類型,原本是什么類的對(duì)象,強(qiáng)轉(zhuǎn)后并不會(huì)發(fā)生改變,只是能方便調(diào)用強(qiáng)轉(zhuǎn)到的類中的方法和屬性。
二、C基礎(chǔ)數(shù)據(jù)類型的強(qiáng)轉(zhuǎn):
float weight = 60.12;NSLog(@"%d",(int)weight);
打印的信息為:60
則強(qiáng)轉(zhuǎn)修改了原來的值:0.12被舍棄
int height = 70;NSLog(@"%f",(float)height);
打印的信息為:70.000000
在原來值的基礎(chǔ)上多加了.000000成為float類型,也許只是強(qiáng)轉(zhuǎn)之后能用%f正確打印height的值了
因?yàn)?/strong>
int height = 70;NSLog(@"%f",height);
打印的信息為:0.000000
此處對(duì)C基礎(chǔ)數(shù)據(jù)類型強(qiáng)轉(zhuǎn)的探索僅供參考。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)各位iOS開發(fā)者們能有所幫助,如果有疑問大家可以留言交流。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注