@public 在当前类/子类外部,可以通过对象名->_属性名访问,也可以通过setter/getter访问。
在当前类的内部/在子类的内部:可以用_属性名访问(self _属性名),也可以通过setter/getter访问。
@protected 在当前类的内部/在子类的内部:不可以用_属性名访问(self _属性名),但可以通过setter/getter访问。 在子类的内部
在当前类的内部/在子类的内部:可以用_属性名访问(self _属性名),也可以通过setter/getter访问。 在子类的内部:
@private 在当前类的内部/在子类的内部:不可以用_属性名访问(self _属性名),也可以通过setter/getter访问。 在子类的内部
在当前类的内部:可以用_属性名访问(self _属性名),也可以通过setter/getter访问 在子类的内部:不可以用_属性名访问(self _属性名),但可以通过setter/getter访问。
@package 在同一个框架内定义的类,和@public效果一致
特点: 1,一个类的 .h中直接声明的属性如果前面什么都不加默认是@protected修饰的
2.当一个类的.h中有很多的属性的时候,属性离最近的修饰符,就拥有该修饰符的特性
|