首页 文章

Swift核心数据FetchRequest NSData到UIIMage

提问于
浏览
0

大家早上好,我正在使用Swift“new for my”和核心数据我试图通过以下方式从核心数据中获取我存储的UIIMage . 仅供参考,它在核心中保存为二进制数据 . 如果我NSLog它我可以看到数据 . 我的获取请求看起来像这样 . 我没有错误,但我的图像没有显示 .

When I save to Core Data the NSLog looks like this..

我有没有得到保存图片2015-10-12 09:05:43.307 Car-Doc-Safe-Plus [13972:3524049] NewImage中有这个(实体:Documents; id:0x7fd4c0432060;数据:{autoClub = nil; driverLicense = <89504e47 0d0a1a0a 0000000d 49484452 00000215 00000155 08020000 00d7368a d8000000 01735247 4200aece 1ce90000 001c>; insuranceID = nil; noteText = nil; plate = nil; registration = nil;})

But when i Fetch it looks like this..

Request中有这个(entity:Documents; predicate:((null)); sortDescriptors:((null)); type:NSManagedObjectResultType;)

**override func viewDidLoad() {
    super.viewDidLoad()

let appDel:AppDelegate = (UIApplication.sharedApplication().delegate as! AppDelegate)
let context:NSManagedObjectContext = appDel.managedObjectContext!

let request = NSFetchRequest(entityName: "Documents")
request.returnsObjectsAsFaults = false;
let results : NSArray
try! results = context.executeFetchRequest(request)
if results.count > 0 {
    let res = results[0] as! NSManagedObject
    carImageView.image = res.valueForKey("driverLicense")as? UIImage

        }
}**

I know I am missing something but I cannot figure it out. Any help is greatly appreciated. JZ

1 回答

  • 1

    Core Data中的"binary data"类型用于读取和写入 NSData 对象 . 由于您要读/写 UIImage ,因此需要使用"transformable"类型 . 通过可转换,Core Data将尝试使用 NSCoding 对数据进行编码/解码,并根据需要将其转换为/从 NSData 转换(Swift as? 不会这样做) . 由于 UIImage 符合 NSCoding ,除了告诉Core Data转换数据之外,您不需要做任何额外的工作 .

相关问题