当我开始进行iPhone开发时,我在某处读到可以将一个键值对附加到UIView上。我知道所有UIViews都可以用作字典来存储你可能想要附加到它们的任何数据,以防止不必要的子类化。但是,我到处寻找参考资料并试图自己实施这种行为是徒劳的。
我尝试过这样的事情:
UIView *myView = [[UIView alloc] init];
[myView setValue:@"hello" forKey:@"world"];
但这似乎不起作用。我认为上面的代码所做的是尝试将值@“hello”分配给属性@“world” - 这不是我想要的。
我想要实现的目标是什么?
非常感谢任何帮助。
谢谢!
尼克。
答案 0 :(得分:23)
UIViews与通用密钥不符合键值。如果是,那么你的代码示例确实会为密钥@“world”设置值@“hello”。但是,图层符合键值,因此以下内容可行:
UIView *myView = [[UIView alloc] init];
[myView.layer setValue: @"hello" forKey: @"world"];