首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在Objective-C中没有将'id'类型的对象初始化为带有'*'的指针?

在Objective-C中,没有将'id'类型的对象初始化为带有'*'的指针,是因为'id'类型本身就是一个指针类型。'id'类型的变量可以指向任何Objective-C对象,它代表了一个对象的指针,而不是对象本身。

在Objective-C中,'id'类型的对象通常是通过消息传递机制来进行操作的。因此,在使用'id'类型的对象时,不需要显式地使用'*'指针。这种机制使得Objective-C代码更加简洁和易于阅读。

此外,'id'类型的对象可以自动地进行类型检查和转换,这也是Objective-C的一个重要特性。因此,在Objective-C中,我们不需要显式地使用'*'指针来表示对象,而只需要使用'id'类型的变量即可。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • iOS - 老生常谈内存管理(三):ARC 面世

    ARC全称Automatic Reference Counting,自动引用计数内存管理,是苹果在 iOS 5、OS X Lion 引入的新的内存管理技术。ARC是一种编译器功能,它通过LLVM编译器和Runtime协作来进行自动管理内存。LLVM编译器会在编译时在合适的地方为 OC 对象插入retain、release和autorelease代码来自动管理对象的内存,省去了在MRC手动引用计数下手动插入这些代码的工作,减轻了开发者的工作量,让开发者可以专注于应用程序的代码、对象图以及对象间的关系上。   本文通过讲解MRC到ARC的转变、ARC规则以及使用注意,来帮助大家掌握iOS的内存管理。   下图是苹果官方文档给出的从MRC到ARC的转变。

    01

    runtime

    作为iOS开发者,runtime特性是必须了解的重点加分项。这并不是说你可以说出消息机制,运行时消息重定向,或者利用runtime特性实现交换方法等,而是更应该深入了解其原理,"知其然且知其所以然"才能不断成长。 Object-C是面相运行时的语言(runtime oriented language),它将编译和链接时要执行的逻辑延迟到运行时来处理。相对静态语言,我们的代码更具灵活性,在苹果封闭链中这个特性也能帮助我们进行线上修复,例如业界鼎鼎大名的JSPatch(虽然现在苹果为了安全性,一封邮件“封杀”JSPatch)。那本篇文章先从runtime功能入手,让你体会runtime的强大,再介绍其原理。在此之前,先了解下基础知识。

    02
    领券