我正在研究Cocktailapp并希望将我的图像数据保存到Core Data。 我看了一些教程并做了相同的工作,但仍然无法正常工作,我不知道为什么。从核心数据获取图像
我有所有的标题为图像阵列:
let imagesAperitif: [String] = ["americano.jpg", "daiquiri.jpg",
"frozen daiquiri.jpg",
"banana frozen daiquiri.jpg", "bronx.jpg", "kir.jpg",
"hugo.jpg", "Manhattann.jpg", "manhattan dry.jpg", "manhattan medium.jpg", "margarita.jpg",
"martini dry.jpg",...
多数民众赞成在我把我的方法的图像保存到核心数据:
setCocktails(nameInsert, zutaten: zutatenInsert, zubereitung: zubereitungInsert, dekoration: dekorationInsert, stil: stilInsert, bild: UIImage(named: imagesAperitif[index])!)
这是从代码的一部分saveCocktails方法:
let imageData = NSData(data: UIImageJPEGRepresentation(bild, 1.0)!)
eintrag.setValue(imageData, forKey: "bild")
do {
try managedContext.save()
这是获取方法的一部分:
let fetchRequest = NSFetchRequest(entityName: "Cocktail")
do {
let results =
try managedContext.executeFetchRequest(fetchRequest)
cocktails = results as! [NSManagedObject]
在这里,我想从NSData的让我像回到:
imagesAperitif.append(UIImage(data: eintrag.valueForKey("bild") as! NSData)!)
,但应用程序与该行崩溃,我得到一个“致命错误:意外发现零而展开的可选值”错误。
是否有人能够向我解释这一点,因为我不知道要改变什么。我尝试过的所有东西也都错了。
尝试打印从coredata.App崩溃阅读,因为它不能够创建UIImage对象的值。 –
对非英语名称有些混淆。 :(你可能想要检查'UIImage(data:eintrag.valueForKey(“bild”)as!NSData)'是否被正确初始化' – zcui93
@AnilSanto你打印这个值是什么意思? –