2015-10-06 100 views
0

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

这是代码保存到核心数据

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]; 

但斯威夫特读取数据2.0没有那个语法imageWithData

回答

0

person.valueForKey("image") as? UIImage将不起作用。使用UIImage(data:)将检索到的NSData转换为UIImage。

+0

让图片对象在第一个vc中,tableview在第二个,那么第二个vc如何让图片对象? – Igy

+0

在第二个vc中尝试过,但它不起作用让图像:UIImage = UIImage(data:person.valueForKey(“image”)as?UIImage) – Igy

+0

它不应该是'as? UIImage',你用'UIImageJPEGRepresentation'将它保存为'NSData'。就传递数据到另一个视图控制器而言,你可以使用'prepareForSegue'。 – MirekE

0

从我使用这个核心数据检索图像,它终于工作。

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

这是MirekE在他的答案中所说的... –

相关问题