此篇想纠正一直以来很多人对理解指针与对象概念的误区, 举一些简单的例子:
比如:
UIImage *image = [[UIImage alloc] init];
在这里的 image 实质是一个指针变量, 并且该指针指向了利用 UIImage 类 进行 alloc - init 创建出来的实例对象, 而对象则保存在内存中的某个位置, 只不过这个对象被一个指针变量 image 引用着.
NSLog(@"%p - %p",image, &image);
上面是取出 image 指针变量的地址, 和 image 指针指向对象所在内存空间的地址进行打印 .
0x100001030, 0x7fff5fbff6f8
打印之后,显示是截然不同的两个地址.
希望大家不要混淆对象和指针的关系, 也不要误以为指针就是对象.