我曾经读过一篇关于快速访问属性的文章,但忘了怎么做。
假设我有两个数组。一个填充字典,一个填充YBUser
类型的对象。词典有一个关键的“名称”,YBUser
有一个属性'name'。
从字典中获取名称密钥很简单:dictionaries[0][@"name"]
。但是我怎么用这个模型呢?我能想出的最好的是((YBUser *)objects[0]).name
。这看起来不太好。
有人可以帮助我并告诉我如何像字典那样访问模型的属性吗?
P.S。
当然我可以使用下面的代码,但我想更短/像字典一样吗?
YBUser *user = objects[0];
NSLog(@"user.name: %@", user.name);
答案 0 :(得分:1)
那么你可以使用KVC做你想做的事情,它看起来如下
[objects[0] valueForKeyPath:@"name"]
我真的认为你应该使用你不想使用的方式,因为它确保你有一个正确类型的对象(只要对象包含所有相同类型)并且属性实际存在。如果你真的想要类似字典的访问使用字典。模型的要点是定义了表示您想要的实际内容的对象,而不是抽象的键值对。不管怎样,只是我的意见。