当前位置 博文首页 > henanzhg的博客:Objective-C @property学习总结2

    henanzhg的博客:Objective-C @property学习总结2

    作者:[db:作者] 时间:2021-08-12 21:08

    成员变量访问权限:

    头文件中声明的成员变量,默认是protected,.m文件中声明的成员变量,默认是private的。合成属性时,@synthesize ?propertyName = _name;如果变量_name没有声明,系统会自动生成该成员变量且为private权限。如果_name已声明,它们会自动合成。

    头文件申明的成员变量默认是protected的,因此,_dateOfBirth默认是protected类型


    .m文件如下图

    .m文件里申明的成员变量默认为private类型,这里_hobby是private类型。

    _weight会自动合成到@property中的weight属性中。

    系统会自动生成_name,在这个类中可以使用。


    @protected: 用此指令修饰的实例变量可以被该类和任何子类定的方法直接访问,这是默认情况。
    @private: 用此指令修饰的实例变量可以被定义在该类的方法直接访问,但是不能被子类中定义的方法直接访问。
    @public: 用此指令修饰的实例变量可以被该类中的方法直接访问,也可以被其它类定义的方法直接访问。
    @package?关键字是在Mac 10.5 Objective-C runtime中新添加的,用以支持64-bit系统。

    ??

    cs