Tidak dapat memperbarui data yang disimpan dalam data inti

Saya mempunyai masalah data inti di mana saya tidak dapat memperbarui data yang disimpan dalam tampilan tabel tetapi saya dapat meneruskan data yang disimpan ke bidang teks pengontrol tampilan tujuan tetapi tidak dapat memperbaruinya dan meneruskannya ke pengontrol tampilan sebelumnya. Saya dapat mengedit di bidang teks tetapi tidak dapat memperbarui konten di pengontrol tampilan tabel sebelumnya tempat data disimpan sebelumnya.

    func Plus(sender: AnyObject) {



        if store == nil
        {
            //get the description of the entity
            let storeDescription = NSEntityDescription.entityForName("Store",inManagedObjectContext: appdelegate.managedObjectContext)

            //we create managed object to be inserted to core data
            let store = EventsandnotesStore(entity : storeDescription!,insertIntoManagedObjectContext:appdelegate.managedObjectContext)
            store.sName = name.text
            store.sDescription = desc.text

            let img = UIImage(named: "image.jpg")
            let imgData = UIImageJPEGRepresentation(img!,1)
            store.sImage = imgData
            do {
                try appdelegate.managedObjectContext.save()
                self.navigationController?.popViewControllerAnimated(true)
            } catch let error as NSError  {
                print("Could not save \(error), \(error.userInfo)")
            }
        }

person Guru Teja    schedule 10.08.2016    source sumber
comment
Penyimpanan Data Inti yang Anda tampilkan bukanlah kode yang bertanggung jawab untuk menampilkan data di pengontrol tampilan Anda. Anda harus menunjukkan kode itu.   -  person Daniel Zhang    schedule 10.08.2016
comment
Saya tidak tahu cara memperbarui konten bidang teks yang diedit menjadi data inti. Di bawah ini saya telah memberikannya   -  person Guru Teja    schedule 11.08.2016
comment
Saya telah memberikan kode untuk meneruskan data ke pengontrol tampilan berikutnya. override func prepForSegue(segmen: UIStoryboardSegue, pengirim: AnyObject?) { if segue.identifier == show { biarkan v = segue.destinationViewController as! ViewController biarkan indexpath = self.tableView.indexPathForSelectedRow! let row = indexpath.row v.store = store[row] } Tolong beri tahu saya kode untuk memperbarui konten di data inti. Saya baru mengenal pengembangan cepat dan aplikasi.   -  person Guru Teja    schedule 11.08.2016


Jawaban (1)


Anda dapat melakukan salah satu dari dua hal

Terapkan pola delegasi untuk meneruskan info yang diperbarui kembali ke pengontrol tampilan asli Anda. Kemudian Anda dapat memperbarui sumber data untuk tableView Anda secara manual.

Atau Anda dapat menggunakan NSFetchedResultsController sebagai sumber data untuk tableView Anda dan mengimplementasikan fungsi delegasi. Hal ini memungkinkan Anda memberi tahu tableView Anda bahwa data inti telah diperbarui.

Saya merekomendasikan yang terakhir, pengaturannya akan lebih sulit tetapi membuat hidup lebih mudah.

person Olivier Wilkinson    schedule 10.08.2016
comment
Saya akhirnya memperbarui data, saya mengacaukan para delegasi. - person Guru Teja; 29.09.2016