- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个非常简单的应用程序,用于跟踪、存储和组织从 iTunes 和 RottenTomatoes 提供的电影。我把电影放在一个很大的背上,通常一次拉大约 150 部电影。然后,用户可以查看提要并将电影添加到自定义列表。
我遇到的问题是从网络中提取数据并与 iCloud 同步以生成电影副本。
我一直在考虑将电影提要分解到本地存储(从 iCloud 中删除),然后在单独的 iCloud 核心数据存储中创建列表和其他用户值,甚至使用 iCloud 键值存储(尽管保存电影列表可能会很粗糙)。
这是我第一个使用 iCloud 的应用程序,所以我使用了来自 this objc.io article 的一些样板文件.我做了一些修改,因为我的网络同步使用后台 NSManagedObjectContext 来完成工作。后台 MOC 保存,然后我的主 MOC 合并更改。UI 主要是 NSFetchedResultsControllers,所以整个系统工作得非常无缝。
这里是一些处理 iCloud NSNotifications 的代码
// happens when the main MOC saves
- (void)managedObjectContextDidSaveNotification:(NSNotification *)notification {
@synchronized(self) {
NSManagedObjectContext *moc = self.backgroundManagedObjectContext;
[moc performBlock:^{
[moc mergeChangesFromContextDidSaveNotification:notification];
}];
}
}
// happens when the bg MOC saves
- (void)backgroundManagedObjectContextDidSaveNotification:(NSNotification *)notification {
@synchronized(self) {
NSManagedObjectContext *moc = self.managedObjectContext;
[moc performBlock:^{
[moc mergeChangesFromContextDidSaveNotification:notification];
}];
}
}
- (void)persistentStoreDidImportUbiquitousContentChanges:(NSNotification *)notification {
@synchronized(self) {
NSManagedObjectContext *moc = self.managedObjectContext;
[moc performBlock:^{
[moc mergeChangesFromContextDidSaveNotification:notification];
}];
}
}
- (void)storesWillChange:(NSNotification *)notification {
NSManagedObjectContext *moc = self.managedObjectContext;
[moc performBlockAndWait:^{
NSError *error = nil;
if ([moc hasChanges] && [moc save:&error]) {
DDLogInfo(@"MOC saved succesfully");
}
else {
DDLogError(@"Error saving MOC: %@",error);
}
}];
}
- (void)storesDidChange:(NSNotification *)notification {}
我最初认为我可以在 iCloud 完成合并更改后添加一些逻辑,但这看起来不太可靠,因为我可能最终会陷入设备之间的更改循环。
关于如何使这成为可能的任何想法?我敢肯定以前有人这样做过,我只是找不到任何有用的资源。
最佳答案
如果我正确理解你的情况,用户可能几乎同时在两台不同的设备上下载同一部电影,并且在同步之后,你就有了该电影的副本。
Apple 针对这种情况的建议是在任何 iCloud 合并后简单地删除重复数据。您进行提取以查找具有相同电影 ID 的对象,然后以确定的方式对重复项进行排序,然后删除一个。如果您不对它们进行排序,您可能会在一台设备上删除一个对象,在另一台设备上删除另一个对象,最终没有任何对象。
这篇文章有查找重复的有效代码:http://www.atomicbird.com/blog/icloud-complications-part-2
如果您不喜欢整个合并后重复数据删除,可以使用 TICDS 这样的框架和 Ensembles允许您提供全局 ID,从而消除重复数据删除的必要性。 (披露:我开发 Ensembles)
关于ios - iCloud、Core Data 和来自 iOS 7 中网络服务的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22863898/
只是想知道这些结构之间有什么区别(text、data、rodata、bss 等)在链接描述文件中: .data : { *(.data) } .data : { *(.data*) }
Data 定义为其核心功能之一 gfoldl : gfoldl :: (Data a) => (forall d b. Data d => c (d -> b) -> d -> c b)
以下之间有什么区别:data-sly-use、data-sly-resource、data-sly-include 和 数据-sly-模板?我正在阅读 Sightly AEM 上的文档,我非常困惑。
我有一个 Spring Boot、Spring Data JPA (hibernate) Web 应用程序,并且想引入文本搜索功能。 我理解以下内容 hibernate search 或 spring
我不知道我的代码有什么问题。我读了其他有同样问题的人的一些问题,但没有找到答案。当我尝试编译时出现以下错误: ||In function 'main':| |35|error: expected ex
我不太确定为什么会收到此错误或其含义。我的数据框称为“数据”。 library(dplyr) data %>% filter(Info==1, Male==1) %>% lm(CFL_
我一直在 GitHub 等更现代的网站上看到这些属性,它们似乎总是与自定义的弹出窗口一致,如 title 属性。 Option 1 Option 2 Option 3 Option 4 我在 HTML
如何用 iCloud Core Data 替换我现有的 Core Data?这是我的持久商店协调员: lazy var persistentStoreCoordinator: NSPersistent
我一直在 GitHub 等更现代的网站上看到这些属性,它们似乎总是与自定义的弹出窗口一致,如 title 属性。 Option 1 Option 2 Option 3 Option 4 我在 HTML
我正在通过 this project 在 Android 上摆弄 node.js ,我需要一种方法将 js 文件部署到私有(private)目录(以隐藏源代码,防止用户篡改),该目录也物理存在于文件系
大家好我有点沮丧,所以我希望得到一些帮助。我的项目在 SwiftUI 中。我想使用图像选择器将图像保存到 Core Data。我实现了让 ImagePicker 工作,但我正在努力转换 Image -
我有以下数据和代码: mydf grp categ condition value 1 A X P 2 2 B X P 5
我一直在努力解决这个问题,但我根本找不到任何解决问题的方法。希望这里有人可以提供帮助。 我正在尝试为具有以下结构的某些数据创建个人选择矩阵: # A tibble: 2,152 x 32 a
我了解 Data.Map.Lazy 和 Data.Map.Strict 是不同的。但是,当您导入 Data.Map 时,您究竟导入了什么:严格的、惰性的还是两者的组合? 最佳答案 懒人。看着docs
我正在开发一个 C 程序,用于从 BerkeleyDB DBTree 数据库中提取数据值与特定模式匹配的记录。我创建数据库,打开它,将键的 DBT 和数据的另一个 DBT 清零,将 DBT 标志设置为
所以我有以下成员(member)历史表 User_ID | Start date | End Date | Type(0-7) | ---------------------------
随着最近推出的包dataframe ,我认为是时候正确地对各种数据结构进行基准测试,并突出每种数据结构的优势。我不是每个人的不同优势的专家,所以我的问题是,我们应该如何对它们进行基准测试。 我尝试过的
我有来自 API 的数据,但无法将数组中的数据设置为 vue.js 中的 this.data这是来自 API 的数据(JSON) 你能告诉我这个语法吗 {"id":1613, "name_org":"
在 Vue.js到目前为止,我已经找到了两种定义数据的方法:data: {} 和 data() { return; }. data: { defaultLayout: 'default' }
我正在研究Spring Data Rest Services,并在自定义拦截器中遇到一些问题。之前我使用spring-data-rest-webmvc 2.2.0并以以下方式添加了拦截器。 publi
我是一名优秀的程序员,十分优秀!