问题标签 [afincrementalstore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3077 浏览

ios5 - RestKit 和 AFIncrementalStore 的区别

在我的 iOS 应用程序中,我试图从(RESTful)服务器获取和发布数据。我认为 RestKit 和 AFIncrementalStore 都是不错的选择。但是,我还需要能够离线保存数据并在应用程序在线时将其推送到服务器。

我试图了解哪个是用于应用程序的更好框架。

此外,从一些在线资源来看,似乎在 AFIncrementalStore 上使用错误可能会导致处理 ManagedContext(通常是 mainThread)的线程在提供网络请求以获取属性时卡住。有什么大不了的吗?

PS:添加afnetworking标签,因为afincrementalstore标签不可用

0 投票
2 回答
551 浏览

core-data - 将核心数据设置为延迟加载一对一的关系

我正在使用AFIncrementalStore将我的 iOS 应用程序连接到我的 REST API。Events当我加载我的初始视图控制器时,我创建了一个将最新的 100 个(NSManagedObjects)加载到视图中的 NSFetchRequest。问题是每个Event都与一个Group对象具有 1:1 的关系,并且一旦Event加载,增量存储就会被要求填充该Group对象,在我的情况下,这会触发对每个 100 的服务器的单独请求Events

我可以看到几种解决此问题的方法,例如Groups如果它们已经保存在本地,则不向服务器请求,缓存网络请求,或者不将关系存储在 NSManagedObject 中。但理想情况下,该Group对象可以作为故障开始,并且仅在访问其字段之一时才请求填充,类似于一对多关系发生的情况。不幸的是,我找不到任何说明如何强制核心数据中的一对一关系延迟加载的文档。可能吗?

0 投票
1 回答
891 浏览

iphone - 将 AFIncrementalStore 与 Auth 令牌一起使用

我正在为App.net 开发iOS 客户端,我想使用AFIncrementalStore将 Web 服务与我在应用程序中的核心数据实现同步。

我已经让这两者适用于不需要身份验证令牌的 API 请求,但我不知道如何将身份验证令牌与 AFIncrementalStore 一起使用。

换句话说,我可以拉下全局提要,因为它不需要身份验证:

https://alpha-api.app.net/stream/0/posts/stream/global

...但是,要获取用户的流,您需要 auth(您会注意到此链接给出了错误):

https://alpha-api.app.net/stream/0/posts/stream

我知道我需要auth_token在 API 调用的末尾附加一个,但我不确定如何使用 AFIncrementalStore 来做到这一点。

更新:这是当前获取全局流的代码块:

这是直接从AFIncrementalStore 中包含的示例 App.net 项目中提取的方法。

0 投票
1 回答
238 浏览

afnetworking - 在 AFIncrementalStore 中保存对象时出错。ResponseObject 是一个 NSArray 而不是 NSDictionary 尽管 JSON 响应有效

全部,

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

在一个非常简单的数据模型中,我尝试插入一个新的对象用户。(属性: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

0 投票
1 回答
301 浏览

ios - 具有嵌套资源的 AFRESTClient pathForEntity?

我正在尝试使用嵌套资源 URL 获取相册中的照片,例如:

似乎最简单的方法是在我的 AFRESTClient 子类中覆盖 pathForEntity 函数。但是,我无权访问专辑对象,因此无法返回包含专辑 ID 的 URL。我应该如何覆盖/扩展来实现这一点?请参阅下文了解我是如何尝试执行此操作的,请注意我无法提供专辑 ID 的问号:

更高的堆栈,我在 PhotosViewController -viewDidLoad 中有这个

谢谢!

0 投票
6 回答
6404 浏览

ios - 无法更新从未插入的对象

我创建一个类别对象并保存它:

然后编辑类别对象的名称并再次保存。

并得到这个错误:

感谢您的时间和考虑。

我正在使用 AFIncrementalStore。

0 投票
2 回答
339 浏览

iphone - 使用 AFIncrementalStore 时返回的部分关系数据如何处理?

使用 AFIncrementalStore 进行试验,它非常甜蜜。但是,我遇到了一个我不完全确定如何处理的情况。

我有一个模型返回子关系的 id,但不返回内容本身。例如:获取/组

我可以使用常规的 GET /categories 获取所有类别。但我没有调用 GET /group/3/categories

所以我不知道如何初始化group.category的子关系。我确定我遗漏了一些明显的东西,但任何帮助将不胜感激。

有什么建议么?

0 投票
2 回答
1491 浏览

ios - 使用 AFIncrementalStore 和 NSFetchedResultsController 的死锁

几天来,我一直在为此苦苦挣扎,我一生都无法弄清楚发生了什么。我对 Core Data 很熟悉,但我知道它足以避免死锁情况。然而,对于这个项目,我决定尝试合并 AFIncrementalStore。我构建了一个示例项目来测试 APIClient 以便适当地映射键/值而不会弄乱我的实际项目。它完美无缺。

现在我在我的实际项目中使用它并且事情很挑剔。NSFetchedResultsController 用于被推离屏幕的 UITableViewController(类似于 Facebook 应用程序的滑动菜单)。大约 50% 的时间我不会陷入僵局。我已确保 NSFetchedResultsController managedObjectContext 与我的 AppDelegate 相同。几乎所有的设置都与 AFIncrementalStore 示例相同。甚至我用来测试用法的示例项目也能完美运行。

这是我在死锁期间暂停时调试导航器的图像。看起来问题出在 AFIncrementalStore 的背景上下文和主线程的上下文之间。但是我不确定该怎么做,因为我没有编写 AFIncrementalStore 并且我只是离开了现有的文档/示例。

调试导航器

编辑:添加第二个线程的回溯

0 投票
1 回答
461 浏览

core-data - AFIncrementalStore 和大量核心数据获取

我一直在使用 AFIncrementalStore 并决定分析我的核心数据获取请求。我不知道为什么请求的数量会这么大。我可能搞砸的任何基本面?

在此处输入图像描述

0 投票
1 回答
330 浏览

ios - 使用 AFIncrementalStore 从故障更新

我有一个使用 AFIncrementalStore 同步到 REST API 的项目。假设我有一个简单的一对多关系设置,其中商店有很多部门。

我有宁静的端点:/Stores/:id(仅返回有关商店的数据,没有嵌套资源)/Stores/:id/Departments

以及 CoreData 中的 Store 和 Department 模型,在 Store 上具有一对多的“部门”关系。

假设我正在填充一个 tableView,显示特定商店的所有部门。如果我有一个 store 对象并调用 store.departments,我将在关系上出错,触发对 /Stores/:id/Departments 的异步请求。

这将调用 AFIncrementalStore::newValueForRelationship 来处理错误,该错误不会触发我可以在请求完成后侦听更新表的任何通知。一旦请求返回而不重新加载视图,更新表的适当方法是什么?