美文网首页
@property 修饰符

@property 修饰符

作者: FRAJ | 来源:发表于2019-05-13 14:01 被阅读0次

1. 读写修饰符 readwrite | readonly

  • readwrite:系统为我们创建这个属性的settergetter方法
  • readonly:系统只为我们创建一个getter方法,不会创建setter方法

2. setter 相关修饰符 assign | retain | copy

  • assign:表示直接赋值,用于基本数据类型和C数据类型,不会牵涉到内存管理;
  • retain:针对对象进行内存管理;
  • copy:主要用在NSString类型,表示复制内容;
    系统默认属性是assignretain是指针的复制,copy是内容的复制、

3. 原子性修饰符 atomic | nonatomic

  • atomic:表示是线程安全的;
  • nontomic:表示是非线程安全的,使用此属性性能会提高一些,系统默认是atomic

4. getter 和 setter 修饰符

@property (getter=getMethodName, setter=setMethodName) Object *obj;

这两个属性修饰符用于设置自定义生成的 settergetter 方法名,使用之后将不再使用系统默认的settergetter 方法名。

@protocol 和 category 中如何使用 @property

  1. protocol 中使用property 只会生成settergetter 方法声明,我们使用实行的目的,是希望遵守我协议的对象能实现该属性。
  2. category 使用@property 也只会生成 settergetter 方法声明,如果我们真的需要给category 增加属性的实现,需要借助于运行时的两个参数:
  • objc_setAssociatedObject
  • objc_getAssociatedObject

相关文章

  • @property修饰符

    本小节知识: 【掌握】@property修饰符 1.@property修饰符 修饰是否生成getter方法的rea...

  • iOS 基础知识回顾——关于 property

    目录: 本质 修饰符 synthesize, dynamic KVO 与 Property @property 本...

  • #runtime源码笔记#

    property有哪些修饰符,它们的实现原理是什么 首先回答题目的问题,property的修饰符有nonatomi...

  • 面试知识点

    1、property和属性修饰符 @property的本质是ivar(实例变量) + setter + gette...

  • 临时仓库

    @property中有哪些属性关键字?/ @property 后面可以有哪些修饰符? nonatomic atom...

  • iOS底层 - property

    @property修饰符 atomic nonatomic readwrite readonly retain a...

  • @Property剖析、以及属性关键字。

    //// @property 、属性、修饰符// Created by mac on 2016/10/30./...

  • 无标题文章

    1、@property 后面可以有哪些修饰符? 1.读写性修饰符:readwrite | readonly rea...

  • @property参数

    1.相同类型的property修饰符不能同时使用2.不同类型的property修饰符可以多个结合在一起使用, 多个...

  • iOS中修饰符的简单理解和使用

    iOS中定义属性@property需要属性修饰符。 ARC环境下:修饰符assign、strong、weak、co...

网友评论

      本文标题:@property 修饰符

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