在编写界面时,总会要添加各种各样的视图(包括其子类,下同)到self.view上,而这些视图大多数都是在某个方法中初始化的,如果想要在其他方法中获取某个子视图,通常有三种方法:声明为属性、全局变量、设置其tag值,前两种在此就不再多说,我只想说说设置tag值的这种方法,在使用的时候就发现了其弊端:tag值只是一个NSInteger值,而这种将视图与整形数字建立起的关系就很抽象,你必须记得每一个view所对应的整型值,所以我就有了想要“改变”它的想法:如何让view、tag、name产生关联?
整体思路是这样的:
创建一个NSMutableArray单例,给需要设置tag值的view起个名字(通常是view对象的名称),将这个字符串的名字添加到数组单例中,再将这个名字在数组中的下标(整型值)设置给view.tag,当需要获取view时,通过名字,获取他在数组中的下标,即"tag"值,即可得到对应的view.
按照这个思路,我编写了AMViewTagManager类,添加完UIView的类目后,在使用起来就是下面这个样子~
#import "RootViewCon