所以我试图将对象的id属性设置为我从HTTP请求返回的一些json数据。我的回答结构如下:
{"work":
{"id": 1,
"name": "dave"}}
此响应在NSDictionary中设置。为了将这些数据设置为我的一个类,我使用:
user.work.id = dictionary[@"work"].id;
但由于“id”,这会产生错误。我对如何将此属性设置为我自己的类的对象感到困惑。
答案 0 :(得分:3)
dictionary[@"work"].id
的问题是你试图在'id'类型的对象上使用点表示法 - 所以编译器不知道它是有效的。它无效,因为'id'实际上是嵌套字典中的一个键。所以,你应该这样做:
user.work.id = dictionary[@"work"][@"id"];
或者
user.work.id = [dictionary valueForKeyPath:@"work.id"];