此篇想糾正一直以來(lái)很多人對(duì)理解指針與對(duì)象概念的誤區(qū), 舉一些簡(jiǎn)單的例子:
比如:
UIImage *image = [[UIImage alloc] init];
在這里的 image 實(shí)質(zhì)是一個(gè)指針變量, 并且該指針指向了利用 UIImage 類 進(jìn)行 alloc - init 創(chuàng)建出來(lái)的實(shí)例對(duì)象, 而對(duì)象則保存在內(nèi)存中的某個(gè)位置, 只不過(guò)這個(gè)對(duì)象被一個(gè)指針變量 image 引用著.
NSLog(@"%p - %p",image, &image);
上面是取出 image 指針變量的地址, 和 image 指針指向?qū)ο笏趦?nèi)存空間的地址進(jìn)行打印 .
0x100001030, 0x7fff5fbff6f8
打印之后,顯示是截然不同的兩個(gè)地址.
希望大家不要混淆對(duì)象和指針的關(guān)系, 也不要誤以為指針就是對(duì)象.