Max Madill
Max Madill

Reputation: 39

saving uiimage to core data from a if statement

In my swift code below the goal is to save the uiimage into core data from the view did load function. I have added a pic of the error below. Don't know what I am missing in the code below. My code is using 2 different classes.

    override func viewDidLoad() {
        super.viewDidLoad()
        
        //
        let gwen = UIImage(named: "f.jpeg")
        if let imageData = gwen.self?.pngData() {
            DataBaseHelper.shareInstance.saveImage(data: imageData)
        }

        let arr = DataBaseHelper.shareInstance.fetchImage()
        let jake = Int()
        print("core data number is : ", arr[jake].img!.count)

}


class DataBaseHelper {

static let shareInstance = DataBaseHelper()
let context = (UIApplication.shared.delegate as! AppDelegate).persistentContainer.viewContext

func saveImage(data: Data) {
    let imageInstance = Info(context: context)
    imageInstance.img = data
        
    do {
        try context.save()
        print("Image is saved")
    } catch {
        print(error.localizedDescription)
    }
}

func fetchImage() -> [Info] {
    var fetchingImage = [Info]()
    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Info")
    
    do {
        fetchingImage = try context.fetch(fetchRequest) as! [Info]
    } catch {
        print("Error while fetching the image")
    }
    
    return fetchingImage
}






}

enter image description here

Upvotes: 0

Views: 46

Answers (0)

Related Questions