将二进制数据保存在core中,core数据保存在特定槽位



我想在二进制数据核心数据属性的第二个位置保存一个项。核心数据实体命名为picture,属性命名为pic。我的代码是基于一些东西,将项目追加到核心数据属性。我要做的是把它保存在槽2。如果有东西在槽2,它就会在槽2上保存。在

处出现错误

CoredataHandler.shareInstance。saveImage(数据:imageData1)

类型'UIImage'的值没有下标

class ViewController: UIViewController,UIImagePickerControllerDelegate, UINavigationControllerDelegate {
@objc func leftM(){
if let imageData = imagePlace.image {
CoredataHandler.shareInstance.saveImage(data: imageData[1])
}
}

class CoredataHandler : NSManagedObject {
static let shareInstance = CoredataHandler()
func saveImage(data: Data) {
let imageInstance = Pictucre(context: context)


imageInstance.pic = data

do {
try context.save()

} catch {
print(error.localizedDescription)
}
}
class CoredataHandler : NSManagedObject {
static let shareInstance = CoredataHandler()
func saveImage(data: Data) {
let imageInstance = Pictucre(context: context)


imageInstance.pic = data

do {
try context.save()

} catch {
print(error.localizedDescription)
}
}}

图片

这些错误告诉你的是:

  1. imageDataUIImage
  2. 您正试图在imageData上使用下标(这里是[1])。
  3. UIImage不使用下标,所以这一行没有意义。

数字下标用于数组或其他集合上查找特定图像中的项。如果有一个图像数组,可以使用[1]访问索引1处的图像。单个UIImage不是任何类型的集合,它只是一个图像,所以使用数字下标是没有意义的。

很难说你想做什么——"二进制数据核心数据属性的第二个点">并没有真正的意义,因为二进制属性没有多个"点",它们只是保存了一堆可以代表图像的字节,或者你想要的任何东西。数字索引没有意义,因为在二进制属性上没有索引或"点"的概念。

最新更新