gpt4 book ai didi

ios - 如何使用核心数据更新表格 View 单元格中的图像

转载 作者:行者123 更新时间:2023-11-28 08:30:56 25 4
gpt4 key购买 nike

我正在使用图像选择器从本地设备图库中选取图像,但是一旦使用 xcode 7.3、ios9 和 swift 2.2 使用核心数据关闭图库,图像就不会保存并显示在表格 View 单元格中

 if isUpdate == true{
print("object id \(self.store?.objectID)")
self.store?.sName = name.text
self.store?.sDescription = desc.text
//save.setTitle("my text here", forState: .Normal)
let img = UIImage(named: "image.jpeg")
let imgData = UIImageJPEGRepresentation(img!,1)
self.store?.sImage = imgData
do {
try appdelegate.managedObjectContext.save()
self.navigationController?.popViewControllerAnimated(true)
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}

}else{
//get the description of the entity
let storeDescription = NSEntityDescription.entityForName("Store",inManagedObjectContext: appdelegate.managedObjectContext)

//we create managed object to be inserted to core data
let store = EventsandnotesStore(entity : storeDescription!,insertIntoManagedObjectContext:appdelegate.managedObjectContext)
store.sName = name.text
store.sDescription = desc.text
//
let img = UIImage(named: "image.jpeg")

let imgData = UIImageJPEGRepresentation(img!,1)

store.sImage = imgData
do {
try appdelegate.managedObjectContext.save()
self.navigationController?.popViewControllerAnimated(true)
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}

}


}

最佳答案

由于您没有提到 Name 和 Description 字段或存储对象创建的问题,我假设一切正常并且您对 CoreData 过程没有问题。

要检查的一件事是 JPEG 转换调用中的整数值 1。那应该是一个 Float,所以在调用中尝试 1.0,尽管我很惊讶它没有被 XCode 捕捉到。不确定这是否会导致您的问题。

我遇到的另一个潜在的转换问题是 UIImageJPEGRepresentation 调用可能由于其他原因而失败,返回 nil 值(例如,当我将 CIImage 直接转换为 UIImage 时,会发生这种情况,但如果我通过 CGImage 做到这一点,它就会起作用 - 去看看)。考虑到所有这些,您应该检查调用的结果。我按如下方式使用保护语句和自定义记录器:

    guard let thumbnailData = UIImageJPEGRepresentation(thumbnailUI, Set.shared.jpegQuality) else
{
logError(#file, line: #line, column: #column, function: #function, description: "JPG Conversion Error - thumbnail")
return nil
}

如果失败,您需要检查从选择器中获取的图像。

如果您在数据库方面遇到问题,您是否在 View Controller (controllerWillChangeContent 等)中包含了 TableView 委托(delegate)函数。您将需要这些,以便在包含图像的记录更改时调用您的 configureCell 方法。

这些就是我要开始的事情。

关于ios - 如何使用核心数据更新表格 View 单元格中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38897707/

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