gpt4 book ai didi

swift - Realm created_at 和 updated_at 时间戳

转载 作者:行者123 更新时间:2023-11-28 15:24:57 24 4
gpt4 key购买 nike

我想在我的 Realm 对象 created_atupdated_at 中实现 2 个时间戳。

created_at 只会在对象首次插入数据库时​​设置一次。

每次修改和保存对象时,

updated_at 都会存储一个新的时间戳。

我发现我可以做到这一点的唯一方法是使用存储库模式,使用 createupdate 函数,然后设置时间戳。然而,采用这种模式意味着要重构大量代码。

据我所知,Realm 对象没有任何类型的钩子(Hook),例如 beforeSaveafterSave 我可以在对象模型本身上实现,这本来是一个有用的选择。

除了存储库模式或在整个应用程序中的任何 realm.write 之前手动更新时间戳之外,还有其他方法可以实现吗?

最佳答案

Realm 提供了两种方法来实现您的目标。

第一个方法是Key-Value Observation ,它实现了一个广泛使用的同名设计模式。参见 Apple's documentation on the topic .

第二种方法是 Realm 自己的替代方法,称为 Notifications .您可以获得有关每个写入特定 Realm 实例的事务的通知,并处理您需要处理的事务,或者您可以注册有关 single Objects 的通知。 .

当您观察/收到有关对象更新的通知时,您可以使用这两种方法来更新 Realm 对象的 updated_at 属性。处理 created_at 属性甚至更容易,您只需在对象初始化时将其设置为不可变值,或者您甚至可以在对象初始化函数中自动执行此操作。

关于swift - Realm created_at 和 updated_at 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45401512/

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