我想扩展iOS UIView类,以便在我的UIView实例中存储一些自己的数据和状态。我是iOS新手。我知道我不能将实例变量添加到Categories中,因此我可能无法向我的UIViews添加新状态。
因此我想创建一个NSArray,其中每个UIViews都有一个唯一的标记,然后用作NSArray的索引,NSArray中的每个项目都保存有关该特定UIView的附加状态信息。这里的缺点是标签和NSArray的管理。如果我可以通过类别直接将状态添加到任何UIView,那将会更加直截了当。
有人可以告诉我最好的方法来向UIViews添加一些实例变量和状态吗?我使用了很多UIView子类,因此不想真正开始子类化UIView。
感谢。
答案 0 :(得分:1)
Associative references会让你做你想做的事,虽然我不确定你为什么不想要子类(你已经说过你有很多子类 - 或许更好的子类化策略可能是更好的解决方案?)。
答案 1 :(得分:0)
只需使用UIView.tag
属性即可。它的NSInteger
(长),所以你可以在其他地方有一张地图。