0

全部,

最近两天我正在尝试解决一个问题,但似乎无能为力。如果要求显而易见,请提前道歉。

在一个非常简单的数据模型中,我尝试插入一个新的对象用户。(属性:name、password 和 id 分别是一个 NSString、一个 NSString 和一个 NSNumber)。新对象在 API 和外部 MySQL 服务器中成功创建。但是,在 HTTPrequest 的完成块中,当(我认为)填充后备存储时,它会尝试创建资源标识符。

这是应用程序在尝试从表示字典中获取 allKeys 时在此方法中崩溃的原因:

(NSString *)resourceIdentifierForRepresentation:(NSDictionary *)representation ofEntity:(NSEntityDescription *)entity fromResponse:(NSHTTPURLResponse *)response 从服务器返回的 JSON 响应如下:

[{"id":20,"name":"john doe","password":"secret"}]

任何人的线索?如果我今年能解决这个问题,将不胜感激!!!

旁注:马特干得好!

附带问题:当连接恢复时,AFIS 将如何处理本地存储、本地更改以及与服务器的同步?

全部,

在此先感谢并享受 2013 年!!!

[更新]

问题是我得到了一个 NSArray 而不是 NSDictionary。我可以通过更改 AFIS savecontext 中的代码以传递 responseObject[0] 来简单地修复它,但是我不想更改 AFIS 代码,而且我仍然觉得奇怪的是,当我有一个有效的 JSON 响应时我没有得到一个 NSDictionary

4

1 回答 1

0

您可以覆盖 AFIS 用于从 json 数据中获取结果对象的方法。

- (id)representationOrArrayOfRepresentationsOfEntity:(NSEntityDescription*)entity
                              fromResponseObject:(id)responseObject

响应对象应该是索引为 0 的字典数组。

于 2013-06-19T09:02:30.570 回答