如何在swift中同步coredata和webservices?

Tej*_*iya 0 swift swift2

我正在制作一个需要在离线和在线模式下运行的应用程序(在Swift中).当它处于离线模式时,数据将本地存储在CoreData上.一旦检测到网络(在线),它就应该与服务器同步并更新后端数据库.请帮助我任何人.

Che*_*dra 6

最近,我参与了离线和在线模式应用.

首先,您必须确定在脱机模式下从每个实体添加,更新和删除的记录.

因此,为了识别这一点,我在同步时需要的每个实体中添加了一个额外的属性recordStatus.

您的实体将如下所示.我创建了一个将处理所有recordStatus的ENUM.

你的实体看起来像

我的解决方案是在Objective-C中,但我假设您可以轻松地将其转换为Swift.

typedef NS_ENUM(NSInteger, RecordStatus){

    RecordStatusUnchanged = 0,
    RecordStatusUpdated   = 1,
    RecordStatusAdded     = 2,
    RecordStatusRemoved   = 3
};
Run Code Online (Sandbox Code Playgroud)

在同步时....您只需要获取那些记录recordStatus != RecordStatusUnchanged和记录将被发送到服务器的记录.

我希望你听起来很清楚.