1

所以我试图将对象的 id 属性设置为我从 HTTP 请求返回的一些 json 数据。我的回复结构如下:

{"work": {"id": 1, "name": "dave"}}

此响应设置在 NSDictionary 中。为了将此数据设置为我的一个类,我使用:

user.work.id = dictionary[@"work"].id;

但这会因为“id”而出错。我对如何将此属性设置为我自己的类的对象感到困惑。

4

1 回答 1

3

问题dictionary[@"work"].id在于您试图在“id”类型的对象上使用点表示法 - 所以编译器不知道它是有效的。它是无效的,因为“id”实际上是嵌套字典中的一个键。所以,你应该这样做:

user.work.id = dictionary[@"work"][@"id"];

或者

user.work.id = [dictionary valueForKeyPath:@"work.id"];
于 2013-07-21T18:28:01.017 回答