本文主要介紹了ios中物件指標和基礎資料型別如何進行強轉,下面話不多說,直接來看示例詳解。
一、物件指標的強**
uiview *view = [uiview new];//new乙個uiview類的物件
uilabel *label = (uilab程式設計客棧el *)view;//強轉成uilabel指標
label.text = @"123";//給label的tewww.cppcns.comxt屬性賦值(呼叫label的settext方法)
上述**會產生崩潰,崩潰資訊如下:
-[uiview settext:]: unrecognized selector sent to instance 0x7ff1e14e03a0
總結:強轉物件指標不會改變記憶體裡儲存的物件型別,原本是什麼類的物件,強轉後並不會發生改變,只是能方便呼叫強轉到的類中的方法和屬性。
二、c基礎資料型別的強**
float weight = 60.12;
nslog(@"%d",(int)weight);
列印的資訊為:6程式設計客棧0
則強轉修改了原來的值: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物件指標和基礎資料型別的強轉詳解
本文位址: /ruanjian/ios/169657.html
資料型別和物件
unsigned long重定義為ulong。unsigned char重定義為uchar。unsigned int重定義為uint。void重定義為void。unsigned long 重定義為pulong。unsigned char 重定義為puchar。unsigned int 重定義puin...
指標的資料型別和指標運算小結
有關指標的資料型別 定義含義 int i 定義整形變數 int p 定義只想整型資料的指標變數p int a n 定義整形陣列a,它有n個元素 int p n 定義指標陣列p,它由n個指向整形資料型別的指標元素組成 int p n 定義指向n個元素的一位陣列的指標變數 int f f為帶回整形函式值...
資料型別基礎資料型別
資料型別 基礎型別 除八大基礎型別其他的都是引用型資料型別 引用資料型別 基礎資料型別 整型 byte 佔乙個位元組,範圍 128 127 short 佔兩個位元組,範圍 32768 32767 int 最常用 佔四個位元組,範圍 2147483648 2147483647 long 佔八個位元組 ...