将图像保存到核心数据中并将其提取到tableview单元格中

时间:2015-10-06 14:42:59

标签: swift core-data uiimage nsentitydescription

我使用实体“users”和属性“username”设置了CoreData(当我在uitextfield中键入内容时,它会保存到核心数据中,并且我从核心数据读取到tableview单元格中)。这就像一个魅力。但是我也希望显示来自imagepickercontroller的所选图片,当我选择图片时它也工作正常,但是当我点击保存时我想我已经保存了它。我不知道它是否被保存,因为我消除了所有错误,所以我没有错误,但它不会将该图片读入tableview单元格。我将带有二进制数据类型的新属性“image”放入核心数据文件中但代码不起作用。

这是保存到核心数据的代码

let newUser = NSEntityDescription.insertNewObjectForEntityForName("Users", inManagedObjectContext: context)

newUser.setValue(nameField.text, forKey: "username")

let picture = UIImageJPEGRepresentation(photoImageView.image!, 1); 
newUser.setValue(picture, forKey: "image") 

这是tableview从核心数据中读取数据的代码

cell.imageView!.image = person.valueForKey("image") as? UIImage

我也试过

[UIImage, imageWithData:self.myEvent.picture];

但Swift 2.0没有语法imageWithData

2 个答案:

答案 0 :(得分:0)

person.valueForKey("image") as? UIImage无效。

使用UIImage(data:)将检索到的NSData转换为UIImage。

答案 1 :(得分:0)

用于从我使用过的核心数据中检索图像,它最终正在工作。

let image = person.valueForKey("image") as? NSData
    cell.imageView!.image = UIImage(data: image!)