场景是这样的,我想对已实例化的所有控件进行修改,也就是已经存在系统内存中的控件进行修改,假如改背景颜色吧(我说的假如,真实场景中不是哈),现在的问题是我用什么属性或字段来唯一标识控件?
我首先想到了用控件的内存地址作为它在内存中的唯一标识:
NSString * address = [NSString stringWithFormat@"%p",view1];
我用一个单例将每个控件的内存地址存起来,我再遍历window下的所有subView,当它的内存地址在我的单例里,我就进行改颜色
乍一看可行,我也实践过了,确实可行,但是当APP里建的控件多了,就会出现颜色混乱的情况,也就是这个控件的颜色会变成另一个控件的颜色,说明两个控件的唯一标识相同了,这一点我就想不明白了,难道用内存地址不能作为唯一标识符,那用什么好呢?