gpt4 book ai didi

ios - 我应该如何支持使用 DynamoDB 和 iOS 的离线模式?

转载 作者:可可西里 更新时间:2023-11-01 04:45:18 29 4
gpt4 key购买 nike

这是对 Parse 的一点影响。

我正在移动一个应用程序以使用 DynamoDB,但它似乎不支持任何类型的离线模式。

我应该怎么做?

我想使用 Realm,但我最终不得不管理同步和对象 <-> noSQL。我应该在一行上使用标志来指示它已同步吗?

我是否应该像在 Dynamo 中一样尽量保持平整?

我认为 Cognito 的同步部分不适用于此处。

最佳答案

我以前没有使用过 DynamoDB,但我只是通读了亚马逊网站上的 iOS 文档,我认为集成两者应该是可能的,而且相对容易。

看起来您在 DynamoDB 中定义数据模型的方式与 Realm 相同:创建 AWSDynamoDBObjectModel 的子类并添加您的属性。在这种情况下,只要您创建了一个具有相同匹配属性的 Realm Object(或 Objective-C 中的 RLMObject),您应该(理论上)能够简单地将 DynamoDB 对象直接传递给要保存的 Realm:

let realm = try! Realm()

try! realm.write {
realm.create(MyRealmSubclass.self, value: MyDynamoDBObject, update: true)
}

Realm 非常聪明,能够使用 KVC 查看传递给它的任何对象是否符合其模型对象的架构,并自动检索和保存该信息。

(注意:为了使 update: 正常工作,您还需要确保您的对象也共享一个公共(public)主键属性)。

从它的声音来看,如果您希望在应用程序离线时修改 Realm 中本地保存的数据,然后将修改后的数据推送到设备重新在线,那么这将取决于您将 Realm 模型对象转换回 DynamoDB 对象,以便推送回 AWS。

您当然可以向 Realm 模型添加其他属性,例如 bool hasChanges 标志或 lastModifiedDate 日期对象,以便能够检查离线对象有需要上传的更改。

如果您需要任何其他说明,请告诉我!

(全面披露:我为 Realm 工作。)

关于ios - 我应该如何支持使用 DynamoDB 和 iOS 的离线模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35080103/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com