问题标签 [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.
objective-c - 将 AFIncrementalStore 与 WebSockets 应用程序一起使用
我正在尝试将 AFIncrementalStore 用于与 App.Net 对话的 Mac 应用程序。与框架附带的示例应用程序不同,我使用流式 API 和 websocket 连接。为此,我使用了 SocketRocket。这些部分工作正常:我能够建立到 ADN 的请求连接并获取连接 ID。这是我为以后对 ADN API 的请求提供的连接 ID。
我的问题是核心数据堆栈在我从 ADN 取回我的第一个连接 ID 之前已初始化并触发。我不确定如何处理这种情况。
目前,我的应用程序委托中有此代码:
我的连接管理器实现了一个委托,它在收到连接 ID 时回调应用程序委托:
因此,一旦收到此连接 ID,我就想将 AFIncrementalStore 启动到行动中。但这可能是在启动后整整一秒左右,而我的 AFIncrementalStore 客户端已经崩溃了,因为它没有那个连接 ID。
任何建议表示赞赏!
objective-c - AFIncrementalStore:仅使用 ID 拉取相关实体
我在我的 Mac 应用程序中使用 App.net 消息传递 API,它使用 Core Data 和 AFIncrementalStore。我有一个Channel实体,它有几种与Users实体相关的不同方式。有一个简单且工作正常的“所有者”关系。但也有两个ACL实体:Channel 的读取器和写入器。
ACL 只是一个包含用户 ID 数组的键值对象,这是我不确定如何使用 AFIncrementalStore 处理的关系。
我正在拉出一个 Channel 实体,它附加了一个 ACL 对象(“writers”),其中包含一组用户 ID:
我已经在 Core Data 中设置了我的关系(“writerUsers”与用户的一对多关系),但我在弄清楚在 AFIS 中配置它的位置时失败了。
我已经尝试过实现- (NSDictionary *)representationsForRelationshipsFromRepresentation:(NSDictionary *)representation ofEntity:(NSEntityDescription *)entity fromResponse:(NSHTTPURLResponse *)response
,但这似乎只有在服务器响应包含实际对象值时才有效——整个用户实体,而不仅仅是 ID。
我还看到提到使用- (NSURLRequest *)requestWithMethod:(NSString *)method
pathForRelationship:(NSRelationshipDescription *)relationship
forObjectWithID:(NSManagedObjectID *)objectID
withContext:(NSManagedObjectContext *)context
提供 URL 请求来获取用户对象......但该方法永远不会从我的 AFHTTPClient 子类中调用。
那么,当我只有一个 ID 时,如何教 AFIncrementalStore 拉入用户实体?
ios - AFIncrementalStore 的性能问题
我正在试验 AFIncrementalStore,这很棒,但我注意到我遇到了一些性能问题。
具体来说,我正在使用它从 facebook graph api 中删除一堆 facebook 朋友信息,并且我看到一些非常慢的时钟时间用于保存操作。对于上下文,我正在加载大约 900 条记录。Instruments 告诉我问题是这样的:
这反过来又称之为
有没有人有使用 AFIncremental 存储更大数据集的经验?
我不太明白的其他一些事情是,为什么所有这些操作都发生在主线程上,而所有这些操作都使用performBlockAndWait
来自具有 PrivateQueueConcurrencyType 的上下文中的操作启动。非常感谢任何帮助!
objective-c - AFIncrementalStore 是否需要 NSMainQueueConcurrencyType 上下文?
我一直在按照使用SQLite
后备存储的存储库中的示例代码将 AFIncrementalStore 合并到我们的应用程序中。所有示例都使用带有NSMainQueueConcurrencyType
.
使用这个 moc,我可以执行提取,看到它从网络中提取,并存储在 sqlite 后备存储中。我尝试将其更改为使用NSPrivateQueueConcurrencyType
,虽然我会看到网络请求,但没有任何内容保存到SQLite
后备存储中。但是,如果我让这个 moc 与主队列并发,然后从中创建一个孩子,并使用那个moc,那么一切都很好。
我想弄清楚我的理解是否遗漏了什么。我似乎找不到任何不使用具有主队列并发性的 moc 作为父上下文的示例(使用私有队列上下文的后备存储),但同时找不到任何文档解释这是否是必需的,或者在使用私有队列上下文与在堆栈中具有主队列上下文时,我是否需要手动将更改推送到父级。
ios - AFIncrementalStore 获取多个远程关系时出现问题
我在AFIS
获取远程关系时遇到问题,我正在连接到 Apigee API,正确设置关系
然后,花了很多时间调试,发现关系名称和 URL 构建是正确的,完全符合我的要求,但是 AFHTTPClient 从来没有进行网络调用,在方法中找到了原因:
线
因为hasChanges
总是返回YES
。
有什么建议吗?
core-data - 在没有 NSFetchedResultsController 或 NSArrayController 的情况下使用 AFIncrementalStore
我试图在没有 NSFetchedResultsController 或 NSArrayController 的情况下获取一些数据。问题在于,由于 AFIncrementalStore 的异步特性,我总是得到过时的数据(或者如果没有获取数据,则没有数据)数据。
有没有推荐的方法来处理这个问题?
core-data - 使用 afincrementalstore 处理关系 ID
在我的数据模型中,我有以下实体:
我有一个服务器数据响应,其中包含关系详细信息,仅提供相关对象的标识符。
/Albums/1 返回:
就目前而言,AFIncrementalStore 无法保存上下文,因为跟踪实体对象未通过验证。除了在数据模型中使关系可选之外,还有什么方法可以解决这个问题?
ios - 如何使用 AFIncrementalStore 与 NSManagedObject 绑定
我正在寻找有关如何使用AFIncrementalStore
. 我需要知道如何一步一步地实现它。
如果我理解正确AFIncrementalStore
,它是用于从服务器获取数据和映射数据模型的层。我对吗?
因此,我需要映射到本地模型的 URL 很少。它们都使用 GET 请求。
例如base_url/api/categories
我得到这个字符串作为回应:
那么,如何使用 AFIncrementalStore 将我的本地数据库与这些数据绑定?此外,如果您可以看到响应字符串中存在与使用相关的关系。用户数组将包含与音乐会用户相对应的 id。所以我认为第二个问题是如何指出该模型必须具有关系。
ios - 我可以“手动”将项目插入 AFIncrementalStore 的缓存吗?
我设置了AFIncrementalStore以通过网络从 JSON 服务中获取对象,并将其 persistentStore 设置为 SQLite 数据库。这一切都很好。
现在我想要做的是将对象带外添加到该 SQLite 数据库(从 AFIncrementalStore 指向的 Web 服务以外的东西),并将这些添加反映在从原始托管对象上下文创建的获取结果控制器中.
我已经创建了一个以原始 MOC 作为其父对象的托管对象上下文,我可以向其中添加对象,并且它们可以被获取的结果控制器看到。但是它们没有保存到 AFIncrementalStore 的 SQLite 数据库中。有趣的是,AFIncrementalStore 看到这些对象,因为它试图将它们保存回 JSON 服务并抱怨不存在正确的端点(我通过覆盖requestForInsertedObject:insertedObject
来解决这个问题 return nil
。)
有谁知道我是如何做到这一点的?
core-data - AFIncrementalStore 与 Parse
我正在 iOS 上开发一个具有多对多关系、本地持久性和用户交互的社交应用程序。我曾尝试在 iOS 中使用本机 Parse API,但发现执行所有客户端-服务器逻辑太麻烦了。所以我的重点转移到寻找同步解决方案上。
经过一番研究,我发现 AFIncrementalStore 非常易于使用,并且高度集成在 CoreData 中。我刚开始研究这个,我有两个问题要问:
1)如何进行认证过程?它在 AFRESTClient 中吗?2) 如何设置 AFRESTClient 以匹配 Parse 的 REST API?(一个例子会很棒!)
PS我还找到了FTASync,这似乎是另一种解决方案。对这个框架有什么想法吗?
任何关于客户端-服务器同步解决方案的一般建议都将受到高度赞赏!
谢谢,
张磊