ไม่สามารถอัปเดตข้อมูลที่บันทึกไว้ในข้อมูลหลักได้

ฉันมีปัญหาข้อมูลหลักซึ่งฉันไม่สามารถอัปเดตข้อมูลที่บันทึกไว้ในมุมมองตารางได้ แต่ฉันสามารถส่งข้อมูลที่บันทึกไว้ไปยังช่องข้อความของตัวควบคุมมุมมองปลายทางได้ แต่ไม่สามารถอัปเดตและส่งผ่านไปยังตัวควบคุมมุมมองก่อนหน้าได้ ฉันสามารถแก้ไขในช่องข้อความได้ แต่ไม่สามารถอัปเดตเนื้อหาในตัวควบคุมมุมมองตารางก่อนหน้าซึ่งมีการบันทึกข้อมูลไว้ก่อนหน้านี้ได้

    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 แหล่งที่มา
comment
บันทึกข้อมูลหลักที่คุณแสดงไม่ใช่รหัสที่รับผิดชอบในการแสดงข้อมูลในตัวควบคุมมุมมองของคุณ คุณควรแสดงรหัสนั้น   -  person Daniel Zhang    schedule 10.08.2016
comment
ฉันไม่รู้วิธีอัปเดตเนื้อหาฟิลด์ข้อความที่แก้ไขแล้วให้เป็นข้อมูลหลัก ด้านล่างนี้ฉันได้ให้   -  person Guru Teja    schedule 11.08.2016
comment
ฉันได้ให้รหัสเพื่อส่งข้อมูลไปยังตัวควบคุมมุมมองถัดไป แทนที่ func waitforSegue (ทำต่อ: UIStoryboardSegue, ผู้ส่ง: AnyObject?) { ถ้า segue.identifier == แสดง { ให้ v = segue.destinationViewController เป็น! ViewController ให้ indexpath = self.tableView.indexPathForSelectedRow! ให้ row = indexpath.row v.store = stores[row] } โปรดบอกรหัสสำหรับอัปเดตเนื้อหาในข้อมูลหลักให้ฉันทราบ ฉันยังใหม่ต่อการพัฒนาแอพที่รวดเร็ว   -  person Guru Teja    schedule 11.08.2016


คำตอบ (1)


คุณสามารถทำหนึ่งในสองสิ่ง

ใช้รูปแบบการมอบหมายเพื่อส่งข้อมูลที่อัปเดตกลับไปยังตัวควบคุมมุมมองดั้งเดิมของคุณ จากนั้น คุณสามารถอัปเดตแหล่งข้อมูลสำหรับ tableView ของคุณได้ด้วยตนเอง

หรือคุณสามารถใช้ NSFetchedResultsController เป็น dataSource สำหรับ tableView ของคุณ และใช้ มอบหมายงาน สิ่งนี้ทำให้คุณสามารถแจ้ง tableView ของคุณว่าข้อมูลหลักได้รับการอัปเดตแล้ว

ฉันขอแนะนำอย่างหลัง การตั้งค่าจะยุ่งยากกว่าเล็กน้อย แต่จะทำให้ชีวิตง่ายขึ้นมาก

person Olivier Wilkinson    schedule 10.08.2016
comment
ในที่สุดฉันก็ได้รับข้อมูลอัปเดต ฉันยุ่งกับผู้ร่วมประชุม - person Guru Teja; 29.09.2016