如何在iPhone上为UIView附加键值对?

8
当我开始iPhone开发时,曾经看到过一篇文章,说可以将键值对附加到UIView上。我理解为所有UIView都可以被用作字典来存储任何你想要附加的数据,以避免不必要的子类化。然而,我已经到处寻找相关参考资料并试图自己实现这种行为,但都没有成功。
我尝试了以下方法:
UIView *myView = [[UIView alloc] init];
[myView setValue:@"hello" forKey:@"world"];

但是这似乎不起作用。我认为上述代码试图将值@"hello"分配给属性@"world",这不是我想要的。
我想实现的目标是否可能?
在这里任何帮助都将不胜感激。
谢谢!
尼克。
1个回答

25

在通用键上,UIViews不符合键值图。如果符合的话,那么您的代码示例确实会将值@"hello"设置为键@"world"的值。然而,layers符合键值图,因此以下内容将起作用:

UIView *myView = [[UIView alloc] init];
[myView.layer setValue: @"hello" forKey: @"world"];

你真是个天才。非常感谢你在这里的帮助,Ben! - Nick Cartwright
1
如果你不确定UIView和图层之间的区别是什么(就像我10分钟前一样),请查看http://raptureinvenice.com/ios-brownbag-view-vs-layers-including-clock-demo/。 - Joseph

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接