关于 Instance Variable

2014-10-30 13:23:34 +08:00
 jox
最近越来越不喜欢用ivar了,程序在运行过程中如果在当前作用域内找不到某个符号的定义,就会跑到上一层去找,在一个对象内部,ivar本质上是全局变量,这个事实让我对ivar的使用总是很谨慎,除非迫不得已,否则绝不会使用ivar或者定义某个属性来保存某个对象的引用,在一个对象内部已经有一个全局变量了,那就是self,能通过self取得引用的对象我一般都会在某个函数内新建一个局部变量来保存这个对象的引用,虽然会多写一些代码,但是感觉上来说会安心一些,就是想让函数只在迫不得已的时候才会使用全局变量与外部进行通信,其他情况下将函数的接口约束在参数和全局变量self上,我是这么觉得的,不知道大家怎么看?
2365 次点击
所在节点    iDev
4 条回复
Heavytiger
2014-10-30 14:54:14 +08:00
全用self的路过
huoshanhui
2014-10-30 15:19:45 +08:00
ivar 不是有许多属性么,哪来的不安全。
jox
2014-10-30 15:41:48 +08:00
@huoshanhui 不是怕不安全,算是一种个人习惯吧,如果ivar很多的话,函数就会与外界有很多“通道”,只使用self一个全局变量的话,函数就只通过self和参数与外界接受数据,这样我觉得能使函数的接口“干净”一些,一般如果要用到self的话,就会在函数的开头创建变量然后保存通过self得到的指针的值,这样一看函数名和开头的几行就知道这个函数从外界接受了什么数据,嘛,就是一种个人习惯,我觉得这样好管理
robertlyc
2014-10-30 22:24:50 +08:00
xcode 5之后 编译器帮你搞定

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/142584

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX