开发者社区 问答 正文

Objective-c成员变量的定义方式?如何写才规范?

方式一:(为何要定义一个_test?下划线开头代表什么意思?在实现的时候怎么又将_test付给了test?)
screenshot
这个成员变量定义这块儿,整的很乱,看了很多教程,一个教程一个写法,有时候教程前后还不一样。我更迷茫了,到底该如何定义成员变量?求详细解答。谢谢了。​​​

展开
收起
a123456678 2016-07-27 15:08:22 2330 分享 版权
1 条回答
写回答
取消 提交回答
  • 尽量的使用属性而非实例变量。除了在初始化方法(init,initWithCoder:等)、dealloc方法以及自定义setter与getter方法中访问属性合成的实例变量,其他的情况使用属性进行访问。

    良好的风格:

    @interface RNCSection: NSObject

    @property (nonatomic) NSString *headline;

    @end
    不良的风格:

    @interface RNCSection : NSObject {

    NSString *headline;

    }
    当你使用@synthesize指令时,编译器会自动为你创建一个下划线_开头的的实例变量,所以不需要同时声明实例变量和属性。

    不良的风格:

    @interface RNCSection : NSObject {
    NSString *headline;
    }
    @property (nonatomic) NSString *headline;
    @end
    良好的风格:

    @interface RNCSection: NSObject

    @property (nonatomic) NSString *headline;

    @end
    不要使用@synthesize除非是编译器需要。注意在@protoco协议中的@optional可选属性必须被显式地使用@synthesize指令合成属性。

    2019-07-17 20:00:38
    赞同 展开评论
问答分类:
问答标签:
问答地址: