gpt4 book ai didi

iphone - 在 Core Data 中存储指针

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

我将一些对象存储在具有固有生命周期的核心数据中。我正在为这个生命周期的对象创建安排本地通知,然后在通知被触发时处理该对象。

问题是对象可以提前结束。但是本地通知并不知道这一点,仍然会在各自的时间触发,这会导致困惑。有没有办法在对象中存储指向通知的指针?因此,如果它提前结束,它可以取消它。

我想坚持使用通知,因为我需要用户知道它何时完成,如果它正常完成的话。并且通知不依赖于正在运行的应用程序。

基本问题您可以在核心数据中存储指向对象的指针吗?第二个问题是本地通知是否在其生命周期内更改内存地址

我知道我可以将它们全部取消并重新安排需要提前结束的那些,但这看起来很浪费,希望有更好的方法。

最佳答案

UILocalNotification 是不可序列化的(它没有实现 NSCoding),所以你不能用 Core Data 持久存储它。我建议您将核心数据实体的 managedObjectID 以可序列化的形式(例如作为 URL)添加到通知的 userInfo 属性中。如果您需要删除特定通知,您可以在 UIApplicationscheduledLocalNotifications 数组中搜索本地通知,并在其 userInfo 中使用相应的托管对象 ID > 属性,然后通过 cancelLocalNotification: 取消该属性。

关于iphone - 在 Core Data 中存储指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041351/

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