【发布时间】:2012-12-09 17:02:48
【问题描述】:
将UIImageView 保存到CoreData 数据库的最简单 方法是什么。我试过这个:
保存:
UIImage *image = imageView.image;
NSData *imageData = UIImagePNGRepresentation(image);
[newContact setValue:imageData forKey:@"imageViewFinal"];
检索:
imageView.image = [matches valueForKey:@"imageViewFinal"];
并且我添加了一个名为“imageViewFinal”的Attribute,其类型为Binary Data。
问题:
当我去构建它并单击保存按钮时,应用程序崩溃了,这是什么问题?
谢谢,Seb。
【问题讨论】:
-
你能分享崩溃日志吗?我认为您应该使用可转换数据类型将 NSImage 直接存储到 Core Data 中。
-
brad (@bradlarson) 正如这里已经指出的那样stackoverflow.com/questions/3908910/…
-
崩溃日志:2012-12-23 12:26:21.783 OH&S TUE[24213:c07] 未解决的错误 Error Domain=NSCocoaErrorDomain Code=134100 “操作无法完成。(Cocoa 错误 134100 .)" UserInfo=0x777b5e0 {元数据={ NSPersistenceFrameworkVersion = 419; NSStoreModelVersionHashes = { SWMS =
; }; NSStoreModelVersionHashesVersion = 3; NSStoreModelVersionIdentifiers = ( "" ); NSStoreType = SQLite; NSStoreUUID = "1902A7D8-37E9-493F-8586-A76F5642AF79"; "_NSAutoVacuumLevel" = 2; -
}, reason=开店的模型和开店的模型不兼容}, { metadata = { NSPersistenceFrameworkVersion = 419; NSStoreModelVersionHashes = { SWMS =
; }; NSStoreModelVersionHashesVersion = 3; NSStoreModelVersionIdentifiers = ( "" ); NSStoreType = SQLite; -
您的问题是您在安装应用程序后更改了模型文件。然后,Core Data 不知道如何修改数据库以将更改考虑在内。最简单的解决方案是从模拟器或设备中删除应用并重新安装。
标签: core-data uiimageview uiimage nsdata