与Azure App Service脱机同步

时间:2016-10-11 15:59:03

标签: ios swift azure azure-mobile-services offline

我尝试将Objective-c项目升级到Swift。我使用Azure App Service.NET后端将我的移动应用(iOS)中的数据存储在云端。我刚刚从azure门户下载了Swift项目的快速入门,并按照tutorial中的步骤启用了脱机同步功能。但是,在表中插入项目不起作用。我使用以下代码在后端存储新项目

 var table : MSSyncTable?
 ...
 self.table!.insert(item) {
    (result) in
    let syncItem = result.0
    let error = result.1
    if error != nil {
        print("Error: " + error!.localizedDescription)
    }
    ...
}

在运行时逐步执行代码显示errornil所以一切都应该正常工作,但我没有在表存储中获得新条目。

有没有人有Azure App Service和Swift的经验,可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

因为您正在使用同步表,所以从服务器发送和接收数据的实际操作是显式的。这些由同步上下文中的pushWithCompletion:error:方法(用于将数据发送到云)和MSSyncTable上的pullWithQuery:query:queryId:completion:方法表示。

请注意,拉动时也会自动进行推送。

我希望代码看起来像:

var table : MSSyncTable?
 ...
 self.table!.insert(item) { result in
    let syncItem = result.0
    let error = result.1
    if error != nil {
        print("Error: " + error!.localizedDescription)
    }
    table!.pushWithCompletion() { error in
      ...
    }
    ...
}