Modal的属性如NSDictionary

时间:2014-05-06 12:17:35

标签: objective-c literals

我曾经读过一篇关于快速访问属性的文章,但忘了怎么做。

假设我有两个数组。一个填充字典,一个填充YBUser类型的对象。词典有一个关键的“名称”,YBUser有一个属性'name'。

从字典中获取名称密钥很简单:dictionaries[0][@"name"]。但是我怎么用这个模型呢?我能想出的最好的是((YBUser *)objects[0]).name。这看起来不太好。

有人可以帮助我并告诉我如何像字典那样访问模型的属性吗?

P.S。

当然我可以使用下面的代码,但我想更短/像字典一样吗?

YBUser *user = objects[0];
NSLog(@"user.name: %@", user.name);

1 个答案:

答案 0 :(得分:1)

那么你可以使用KVC做你想做的事情,它看起来如下

[objects[0] valueForKeyPath:@"name"]

我真的认为你应该使用你不想使用的方式,因为它确保你有一个正确类型的对象(只要对象包含所有相同类型)并且属性实际存在。如果你真的想要类似字典的访问使用字典。模型的要点是定义了表示您想要的实际内容的对象,而不是抽象的键值对。不管怎样,只是我的意见。