第二第三种个人感觉是极不规范的。

第一种是比较老式的写法,不过 NSString *_test; 这个就是多余的了,这个是更老式的了,那时候要手写 getter setter

因为有了 synthesize 自动属性合成器以后,这步,Xcode已经帮你做过了。

还帮你写了默认的 getter setter 方法,有下划线就是标识,这个是成元变量,以便于区分 getter setter 中的形参(局部变量)。

在 m 文件中是可以直接对 带下划线的 成员变量进行赋值等操作的,但规范还是建议 使用 self.test 这样来操作,除非你正在 setter getter 方法中,那是不能用这个。

还有谷歌那个 objc 代码风格,, 哈哈成员变量 下划线在后面, test_ ,又晕了吧?我估计这个风格是为了完全区分 纯成员变量,和 属性。就是说 后面带下划线的这货,就纯粹是类本身自己用,没有 getter setter,不需要给别的类访问。

最后,早在 Xcode 4.6 起,还是更早来着,记不得了, 什么 synthesize 根本不用写的,Xcode 已经帮你写了 @synthesize test = _test。

所以现在最简洁的思路就是,如果你这个变量,是要给其他类能够访问到的,那么你就直接写个 @property 就够了。

声明成员变量 NSString *_test; 还有属性合成器 @synthesize test = _test,不需要写了,

如果你这个变量,完全不需要给类外部访问,那么你就 自己声明个 成员变量 NSString *test_; 其他别写。该初始化的地方初始化该释放的释放

//----------------

发现被踩了下,纯个人理解可能会有误,如有误望不吝请指出,多谢,

前面最后说的有些不严谨了~ 没说 在 h 和 m 中的区别。

在 h 中,只有 成员变量的话虽然没有 getter setter , 子类还是能访问的。属性的话就是相当于公开的。

在 m 中,都是私有了。

objective-c 编写规范_Objective-c成员变量的定义方式?如何写才规范?相关推荐

  1. 类的成员变量 请定义一个交通工具(Vehicle)的类其中有: 属性速度(speed)体积(size)等等 方法移动(move())设置速度(setSpeed(int speed))加速speed

    /*类的成员变量 请定义一个交通工具(Vehicle)的类其中有:属性速度(speed)体积(size)等等 方法移动(move())设置速度(setSpeed(int speed))加速speedU ...

  2. 为什么 Java 与 Python 在对待成员变量的访问控制方式截然相反?

    转自知乎:http://www.zhihu.com/question/20885435 为什么 Java 与 Python 在对待成员变量的访问控制方式截然相反? Java提倡成员变量应该是priva ...

  3. google python代码规范_Python代码这样写才规范优雅! (二)

    前文传送门:Python代码这样写才规范优雅! (一)参考:https://www.python.org/dev/peps/pep-0008/Python PEP8编码规范的内容如下: 1. Intr ...

  4. 计算机特岗教师转正申请书,特岗教师转正申请书怎么写才规范

    在特岗教师的岗位上辛勤工作三年之后,很多的特岗教师就需要写转正申请书,然后转为正式编制的老师了,但因为这是一件大事情,有的人就怕自己的申请书不符合领导的心意,害怕自己的转正得到延误,所以就提问特岗教师 ...

  5. iOS 在类实现定义中声明成员变量的怪异方式

    WebGL 规范(WebGL Specification) 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&quo ...

  6. 1.3 Java类的属性:成员变量的定义和声明

    在 Java 中类的成员变量定义了类的属性.例如,一个学生类中一般需要有姓名.性别和年龄等属性,这时就需要定义姓名.性别和年龄 3 个属性.声明成员变量的语法如下: [public|protected ...

  7. java中如何声明班干部,java类成员变量的定义和声明

    在 Java 中类的成员变量定义了类的属性.例如,一个学生类中一般需要有姓名.性别和年龄等属性,这时就需要定义姓名.性别和年龄 3 个属性.声明成员变量的语法如下:[public|protected| ...

  8. java类成员变量初始化_探讨Java类中成员变量的初始化方式

    在 Java 里定义一个类的时候,很多时候我们需要提供成员变量,成员变量专业叫法是 Memeber Variable 或者干脆的叫作 Field. 根据是否使用 static 关键字修饰,可以将 Fi ...

  9. 类的概念、成员函数的定义方式、类的访问控制和封装、类的大小、this指针

    文章目录 类的概念 struct class class和struct的区别是什么呢? 类中成员函数的两种定义方式 声明和定义都在类中 声明和定义分离 类的访问控制和封装 类的封装特性 类的大小 结构 ...

最新文章

  1. I - 查找练习 hash——出现过的数字(水题A的)
  2. python excel读取出错_python读取excel数据出错
  3. 每日温度—leetcode739
  4. 全国计算机等级考试题库二级C操作题100套(第09套)
  5. Postman高级应用——流程控制、调试、公共函数、外部数据文件
  6. Javascript玩转Prototype(一)——先谈C#原型模式
  7. 你不知道的数学趣闻(一)
  8. linux日志绕接,Logback配置
  9. 路由器的分组转发算法
  10. MySQL 资源大全
  11. caffe将图像数据转换成lmdb文件
  12. CSS3 Gradient渐变
  13. 父子组件如何实现通信
  14. 自己动手写CPU之第九阶段(2)——加载存储指令说明2(lwl、lwr)
  15. 你会刷牙吗?图解正确刷牙方法
  16. 诺贝尔奖创纪录最高龄获奖者97岁
  17. classify线性判别分析函数
  18. 二级mysql选择题要对一半才能拿证书_计算机二级选择题需要达到多少分才能及格...
  19. 浅谈jdk-spi与dubbo-spi
  20. VB6播放MP3小程序

热门文章

  1. 关于module require的学习
  2. jQuery.proxy debug
  3. SAP CRM BSP UI gif and color handling
  4. SAP OData错误消息:Invalid format (return structure): Property Name ‘Guid‘, Property Value ‘000000
  5. SAP R/3系统的R和3分别代表什么含义,负载均衡的实现原理 1
  6. SAP CRM产品主数据错误消息Product ID Not in valid range的分析方法
  7. 2015年四级计算机网络课程,2015年计算机四级网络工程师考试辅导:网络互连技术...
  8. 学习计算机游戏编程,在线游戏学编程,游戏编程汇总
  9. java 前端导出exvel_使用纯前端做的Excel导出了解一下
  10. 列宽一字符等于多少厘米_字符串匹配算法总结——BF、KMP、BM