Jadi saya sedang membangun aplikasi berbasis dokumen di Kakao dan mencoba memahami NSManagedObjectContext. Saya telah membaca "Dasar-Dasar Data Inti" Apple tetapi tidak dapat memahaminya. Dalam aplikasi saya, saya membuat kelas CoreDataUtility khusus sehingga semua kelas saya bisa mendapatkan konteksnya melalui baris kode berikut:
MyCoreDataUtility *coreData = [MyCoreDataUtility sharedCoreDataUtility];
NSManagedObjectContext *context = [coreData context];
Saya mendapat ide ini dari situs "Kakao adalah pacarku". Yang membuat saya bingung adalah ketika saya menjalankan aplikasi saya dan membuat jendela baru (kelas pemilik file saya adalah subkelas NSPersistentDocument) jika saya membuat perubahan konteks di jendela baru, tampilannya mencerminkan perubahan di jendela lama dan sebagai serta yang baru. Berdasarkan ini saya berasumsi bahwa kedua jendela merujuk pada konteks yang sama atau setidaknya data yang sama dalam beberapa cara.
Jadi pertanyaan saya adalah:
- Saya berasumsi bahwa setiap kali saya membuat jendela baru, konteks baru akan dibuat, apakah ini benar?
- Jika konteks baru dibuat dan keduanya berbeda (saya sebenarnya mencetak alamat memori dari kedua konteks dan alamatnya berbeda) apakah ini ada hubungannya dengan koordinator penyimpanan persisten atau penyimpanan objek persisten (kedua konsep ini juga samar-samar dalam pikiranku)?
- Jika semua dokumen mengacu pada konteks yang sama, apakah saya bertanggung jawab untuk membuat konteks baru setiap kali dokumen dibuat?
Terima kasih semuanya!