最近越来越不喜欢用ivar了,程序在运行过程中如果在当前作用域内找不到某个符号的定义,就会跑到上一层去找,在一个对象内部,ivar本质上是全局变量,这个事实让我对ivar的使用总是很谨慎,除非迫不得已,否则绝不会使用ivar或者定义某个属性来保存某个对象的引用,在一个对象内部已经有一个全局变量了,那就是self,能通过self取得引用的对象我一般都会在某个函数内新建一个局部变量来保存这个对象的引用,虽然会多写一些代码,但是感觉上来说会安心一些,就是想让函数只在迫不得已的时候才会使用全局变量与外部进行通信,其他情况下将函数的接口约束在参数和全局变量self上,我是这么觉得的,不知道大家怎么看?