美文网首页
iOS @property的本质是什么?ivar、getter、

iOS @property的本质是什么?ivar、getter、

作者: 赵哥窟 | 来源:发表于2020-06-17 10:12 被阅读0次
    • @property 的本质是实例变量(ivar)+存取方法(access method = getter + setter),即 @property = ivar + getter + setter;

      “属性” (property)作为 Objective-C 的一项特性,主要的作用就在于封装对象中的数据。 Objective-C 对象通常会把其所需要的数据保存为各种实例变量。实例变量一般通过“存取方法”(access method)来访问。其中,“获取方法” (getter)用于读取变量值,而“设置方法” (setter)用于写入变量值。

    • ivar、getter、setter 是自动合成这个类中的

      完成属性定义后,编译器会自动编写访问这些属性所需的方法,此过程叫做“自动合成”(autosynthesis)。需要强调的是,这个过程由编译 器在编译期执行,所以编辑器里看不到这些“合成方法”(synthesized method)的源代码。除了生成方法代码 getter、setter 之外,编译器还要自动向类中添加适当类型的实例变量,并且在属性名前面加下划线,以此作为实例变量的名字。在前例中,会生成两个实例变量,其名称分别为 _firstName 与 _lastName。也可以在类的实现代码里通过 @synthesize 语法来指定实例变量的名字.

    相关文章

      网友评论

          本文标题:iOS @property的本质是什么?ivar、getter、

          本文链接:https://www.haomeiwen.com/subject/rrpjxktx.html