Tag: 同步

在iOS App中使用核心数据背景上下文获取远程数据

核心数据是Apple提供的用于开发iOS应用程序的对象图和持久性框架。 它处理对象生命周期,对象图管理和持久性。 它支持用于处理应用程序内部模型层的许多功能,例如: 对象之间的关系管理。 使用撤消管理器更改跟踪 延迟加载对象和属性 验证方式 使用NSPredicate进行分组,过滤和查询 模式迁移 使用SQLite作为后备存储的选项之一。 Core Data自动提供了许多高级功能,它具有陡峭的学习曲线,可供开发人员首次学习和使用。 在iOS 10之前,要在我们的应用程序中设置Core Data,我们需要执行许多配置和样板代码来构建Core Data Stack。 幸运的是,在iOS 10中,Apple引入了NSPersistentContainer,我们可以使用它初始化所有堆栈并以很少的代码获得NSManagedObject上下文。 在本文中,我们将构建一个简单的演示应用程序,该应用程序可从远程《星际大战》 API获取电影列表,并使用后台队列天真地在没有同步策略的情况下同步Core Data存储中的数据。 我们将建立: 受管对象模型架构和影片实体。 电影实体的托管对象。 CoreDataStack:负责使用该模式构建NSPersistentContainer。 ApiRepository:一个类,负责使用URL会话数据任务从StarWars API中获取电影数据列表。 DataProvider:一个类,提供接口以从后台存储库中使用NSManagedObjectContext从数据存储库中获取电影列表并将其同步到Core Data存储。 FilmsViewController:与数据提供者进行通信并使用NSFetchedResultsController从核心数据视图上下文中获取并观察更改的视图控制器,然后在UITableView中显示电影列表。 您可以在项目GitHub存储库中签出该应用程序的完整源代码。 alfianlosari / CoreData-Fetch-API-Background 使用核心数据背景上下文获取Star Wars API的iOS应用– alfianlosari / CoreData-Fetch-API-Background github.com 您还可以通过单击以下网站的链接来结帐并尝试使用StarWars API。 SWAPI –星际大战API 星球大战(Star Wars)API或“ swapi”(Swah-pee)是世界上第一个量化且可通过编程访问的数据源…… swapi.co 受管对象模型架构和影片实体 我们将执行的第一步是创建包含影片实体的托管对象模型架构。 从Xcode创建新文件,然后从核心数据模板中选择数据模型。 将文件命名为StarWars,它将以.xcdatamodeld作为文件扩展名保存。 单击我们刚刚创建的数据模型文件,Xcode将打开数据模型编辑器,在其中我们可以将实体添加到托管对象模型模式中。 […]