首先,我知道在 userInfo 中序列化一个 NSManagedObject 是不可能的。
我的问题是:想象一下我的应用程序使用 CoreData。当我创建一个新的 NSManagedObject 时,我还安排了一个 LocalNotification(这是一个玩具示例)。然后,当 AppDelegate 收到通知时,我想知道对应的 NSManagedObject 来显示它。
有人知道处理这个问题的技巧吗?
提前致谢。应用程序
首先,我知道在 userInfo 中序列化一个 NSManagedObject 是不可能的。
我的问题是:想象一下我的应用程序使用 CoreData。当我创建一个新的 NSManagedObject 时,我还安排了一个 LocalNotification(这是一个玩具示例)。然后,当 AppDelegate 收到通知时,我想知道对应的 NSManagedObject 来显示它。
有人知道处理这个问题的技巧吗?
提前致谢。应用程序
嗯...在您的核心数据模型中存储一个唯一标识符,您将其发送到您的 userInfo 字典中,以供访问,然后在应用程序委托中获取(使用 uniqueID)。
Matt Gallagher 有一篇很棒的博客文章:http ://cocoawithlove.com/2008/08/safely-fetching-nsmanagedobject-by-uri.html
本质上,向 NSManagedObject 询问它的 objectID,获取该 id 的 URIRepresentation,并存储 URI。
他还介绍了与使用 URI 获取 NSManagedObject 相关的一些尖锐边缘,因此您真的应该阅读博客文章。