J'ai cherché sur Internet toute la journée pour trouver une solution, ne pas obtenir n'importe où .. Je sauvegarde une image aux données de base qui, lorsqu'elle est testée en utilisant print (résultats) avec NSFetchRequest, suggère est stocké dans la base de données en montrant ce qui suit dans 'zone de débogage' ...Impossible de charger/récupérer l'image à partir des données de base
[<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>;
l'image est enregistrée en utilisant le code suivant ...
@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")
}
}
Cependant, lorsque je tente Chargement de l'image CoreData enregistrée sur une 2ème imageView la demande de récupération vient avec une erreur .... « Impossible de convertir la valeur de type [ANYOBJECT] type d'argument attendu NSData »
Le code est ...
@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!!!")
}
}
il semble que je peux convertir UIImage dans la 1ère action à NSData, mais Fetch, incapable de convertir NSData revenir à UIImage afin de le montrer sur viewController.
Ma question est de savoir si je peux convertir UIImage en NSData facilement, est-ce que je devrais pouvoir faire vice versa de la même manière? Qu'est-ce qui empêche le code de montrer l'image? Une solution de codage serait très appréciée.
Merci beaucoup pour votre aide à l'avance, car je suis une nouvelle starter ici.
Salut - juste essayé cela - mais 'let imageData = results.first!' causé Discussion 1: EXC_Bad_Instruction (code + EXC_1386 .....) – devim1
Vous ne trouverez pas de dossiers - peut-être qu'ils ne sont pas sauvés. – Mundi
Et bien sûr, vous devez lancer votre ** Entité ** et extraire les données de l'attribut. – Mundi