在 SwiftUI 中显示来自 CoreData 的图像

Posted

技术标签:

【中文标题】在 SwiftUI 中显示来自 CoreData 的图像【英文标题】:Display an image from CoreData in SwiftUI 【发布时间】:2020-05-31 12:17:47 【问题描述】:

我已经设法使用以下代码将图像保存到 CoreData:

let imageData = try Data(contentsOf: fileURL!)
let img = UIImage(data: imageData)
student.picture = img?.pngData()

当然,picture 的类型是 Data

现在,我想在 SwiftUI 中显示这张图片。

struct StudentView: View 
  @Environment(\.managedObjectContext) var managedObjectContext
  @ObservedObject var student: Student

  var body: some View 
    VStack 
      Image(...student.picture...)
      Text("\(student.lastName)")   
    
  

但我不知道用什么代替 ...student.picture...

感谢您的帮助。

【问题讨论】:

【参考方案1】:

如果我正确理解了您的模型,那么以下应该可以工作

Image(uiImage: UIImage(data: student.picture ?? Data()) ?? UIImage())

【讨论】:

以上是关于在 SwiftUI 中显示来自 CoreData 的图像的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI - 在Coredata中添加链接对象后视图不更新

来自先前选择器的选择器值 - CoreData/SwiftUI

使用 SwiftUI 和 CoreData 的数据

如何在 SwiftUI 中从 FetchedResults (CoreData) 中获取 NSOrderedSet

过滤后的 SwiftUI CoreData 列表中的 Sum 属性

Swiftui中CoreData关系和显示图像列表