私は一日中解決策を探しています。 イメージをコアデータに保存していますが、NSFetchRequestで印刷(結果)をテストしたところ、コアデータからイメージをロード/取得できません
@IBAction func buttonOne(sender: AnyObject) {
let img = UIImage(named: "Fencing")
self.imageViewOne.image = img
let imgData = UIImagePNGRepresentation(img!)
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDel.managedObjectContext
var newPhotos = NSEntityDescription.insertNewObjectForEntityForName("Entity", inManagedObjectContext: context)
newPhotos.setValue(imgData, forKey: "photo")
do {
try context.save()
print("image saved")
} catch {
print("error - saving NSData Image")
}
}
01 ...画像は、次のコードを使用して保存されている
[<toootesting.Entity: 0x7fb0816a69f0> (entity: Entity; id: 0xd000000000040000 <x-coredata://2D52E511-B03F-4629-ADF1-DEBD80A63EC0/Entity/p1> ; data: { photo = <89504e47 0d0a1a0a 0000000d 49484452 0000021c 000001e4 08020000 00fab561 c2000000 01735247 4200aece 1ce90000 0009>;
...「デバッグ領域」に次のように示すことによって、コアデータに格納されます。
私は第二ImageViewの上に保存されたCoreDataの画像をロードしようとすると、フェッチ要求がエラーを思い付くしかし、....「予想される引数の型のNSDataに[ANYOBJECT]型の値を変換できません」
コードされます...
@IBAction func loadButton(sender: AnyObject) {
let appDel: AppDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context: NSManagedObjectContext = appDel.managedObjectContext
let request = NSFetchRequest(entityName: "Entity")
request.returnsObjectsAsFaults = false
do {
let results = try context.executeFetchRequest(request)
print(results)
self.imageViewTwo?.image = UIImage(data: results)
} catch {
print("error - Loading!!!")
}
}
私がのViewControllerでそれを示すために戻ってUIImageへのNSDataを変換することができない、のNSDataへの第一のアクションでUIImageを変換しますが、上取得することができそうです。
私はUIImageからNSDataに簡単に変換できるのでしょうか?私は同じ方法で逆もできますか?何がコードの画像表示を停止していますか?コーディングの解決策は非常に高く評価されます。
私はここで新しいスタートを切っているので、事前にお手伝いいただきありがとうございます。
こんにちは - これを試しましたが、 'imageData = results.first!'原因スレッド1:EXC_Bad_Instruction(コード+ EXC_1386 .....) – devim1
これでレコードが見つかりませんでした。おそらく保存されていなかったでしょう。 – Mundi
もちろん、** Entity **にキャストし、属性からデータを抽出する必要があります。 – Mundi