iOS 之 OC中指针与对象的区别

此篇想纠正一直以来很多人对理解指针与对象概念的误区, 举一些简单的例子:

比如:

UIImage *image = [[UIImage alloc] init];

在这里的 image 实质是一个指针变量, 并且该指针指向了利用 UIImage 类 进行 alloc - init 创建出来的实例对象, 而对象则保存在内存中的某个位置, 只不过这个对象被一个指针变量 image 引用着.

NSLog(@"%p - %p",image, &image);

上面是取出 image 指针变量的地址, 和 image 指针指向对象所在内存空间的地址进行打印 .

0x100001030, 0x7fff5fbff6f8

打印之后,显示是截然不同的两个地址.

希望大家不要混淆对象和指针的关系, 也不要误以为指针就是对象.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,358评论 0 6
  • 1.1 什么是自动引用计数 概念:在 LLVM 编译器中设置 ARC(Automaitc Reference Co...
    __silhouette阅读 5,241评论 1 17
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,203评论 30 471
  • ———————————————回答好下面的足够了---------------------------------...
    恒爱DE问候阅读 1,753评论 0 4
  • iOS面试小贴士 ———————————————回答好下面的足够了------------------------...
    不言不爱阅读 2,002评论 0 7