记录成长
分享知识

Objective-C的成员变量、属性与带下划线属性的总结

成员变量与属性是不同的,先看如下示例代码:

User.h文件

 

 

User.m文件

 

 

其中,定义成员变量格式(放在大括号中)为:

 

或者:

 

而属性则使用@property(和@synthesize)定义的。

Xcode推荐的书写成员变量的形式是在变量名前添加下划线_,例如:_name。成员变量只能通过->符号来访问。

对于属性,使用@property定义后,系统会自动生成settergetter方法。

可以这样说,一个属性对应着一个成员变量;如果属性只使用@property声明,而没使用@synthesize的话,系统会自动的给你声明一个_开头的实例变量。如果又使用@synthesize的话,则相当于声明了一个实例变量,如果@synthesize address = _address;,变量名为_address;如果@synthesize address ;,变量名为address

在类的内部该如何访问成员变量和属性呢?

如果,成员变量可以直接通过变量名访问,或者self->...来访问;对于属性,如果没有定义@property,则必须要用self.属性名来访问。本质上,属性和成员变量处于一致的状态。

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:外贸技术家园 » Objective-C的成员变量、属性与带下划线属性的总结

分享到: 生成海报

热门文章

  • 评论 抢沙发

    • QQ号
    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址
    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活