如何将 NSManagedObject 传递给 UILocalNotification 的 userInfo

How to pass NSManagedObject to userInfo of UILocalNotification

我正在尝试将 NSManagedObject 传递给 UILocalNotification 的 userInfo,例如:

NSManagedObject *obj = ...;

UILocalNotification* localNotification = [[[UILocalNotification alloc] init] autorelease];
localNotification.userInfo = [NSDictionary dictionaryWithObjectsAndKeys:obj, @"KeyName", nil];

但它因以下错误而崩溃

Property list invalid for format: 200 (property lists cannot contain objects of type 'CFType') *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'unable to serialize userInfo: (null)'

据我了解,根本原因是 NSManagedObject 不可序列化,那么如何解决这个问题?这里有什么解决方法吗?

我也试过 NSManagedObjectID,这里也有同样的错误。

试试这个 Matt Gallagher 有一个很棒的博客 post 关于这个:http://cocoawithlove.com/2008/08/safely-fetching-nsmanagedobject-by-uri.html

并尝试:Error when setting UserInfo in UILocalNotification