Asas Core Data
Fahami asas Core Data, iaitu rangka kerja Apple untuk mengurus graf objek dan storan berterusan.
Asas Core Data ialah pelajaran Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan merangkumi sejumlah 4 pelajaran.
Selamat Datang ke Core Data
Helo! Hari ini kita akan mendalami Core Data, rangka kerja berkuasa daripada Apple untuk mengurus dan mengekalkan graf objek aplikasi.
Ia membantu anda menyimpan data apl pada cakera dan mendapatkannya semula dengan cekap.
Core Data Bukan Pangkalan Data
Perkara penting untuk difahami: Core Data sendiri bukan pangkalan data. Sebaliknya, ia ialah rangka kerja pengurusan graf objek.
- Ia membantu anda mengurus objek data dalam memori.
- Ia menyediakan alat untuk menyimpan objek ini ke dalam stor berterusan (yang boleh berupa pangkalan data seperti SQLite).
- Anggaplah ia sebagai lapisan abstraksi di atas storan sebenar.
Tindanan Core Data
Core Data bergantung pada 'tindanan' objek yang berfungsi bersama. Memahami komponen ini ialah perkara utama:
- Model Objek Terurus: Skema data apl anda.
- Penyelaras Stor Berterusan: Menyambungkan model kepada stor.
- Stor Berterusan: Storan sebenar (contohnya, fail SQLite).
- Konteks Objek Terurus: Ruang kerja sementara anda untuk berinteraksi dengan data.
Model Objek Terurus (NSManagedObjectModel)
Model Objek Terurus (NSManagedObjectModel) mentakrifkan struktur data aplikasi anda.
- Di sinilah anda menentukan entiti (seperti jadual dalam pangkalan data).
- Setiap entiti mempunyai atribut (sifat, contohnya nama dan umur).
- Anda juga boleh mentakrifkan hubungan antara entiti.
Biasanya, anda menciptanya secara visual dalam Xcode menggunakan penyunting model data (fail .xcdatamodeld).
Penyelaras Stor Berterusan (NSPersistentStoreCoordinator)
Penyelaras Stor Berterusan (NSPersistentStoreCoordinator) bertindak sebagai jambatan.
- Ia mengambil
NSManagedObjectModelanda. - Ia menyambungkannya kepada satu atau lebih stor berterusan.
- Jenis stor yang biasa termasuk fail SQLite, XML atau binari. SQLite ialah pilihan paling biasa untuk apl iOS.
Stor Berterusan (NSPersistentStore)
Stor Berterusan (NSPersistentStore) ialah tempat data anda sebenarnya disimpan pada cakera.
Apabila anda memilih stor SQLite, Core Data mencipta dan mengurus fail pangkalan data SQLite. Anda tidak berinteraksi secara terus dengan SQL; Core Data mengendalikannya untuk anda.
Konteks Objek Terurus (NSManagedObjectContext)
Konteks Objek Terurus (NSManagedObjectContext) ialah antara muka utama anda untuk berinteraksi dengan Core Data.
- Anggaplah ia sebagai 'ruang kerja sementara' tempat anda mencipta, mendapatkan semula, mengemas kini dan memadam objek.
- Perubahan yang dibuat di sini bersifat sementara sehingga anda 'menyimpan' konteks tersebut.
- Ia menjejaki semua perubahan dan melaporkannya kepada Penyelaras Stor Berterusan apabila disimpan.
Bekerja dengan NSManagedObject
Rekod data dalam Core Data diwakili oleh tika NSManagedObject (atau subkelasnya).
Ia serupa dengan objek Objective-C biasa, tetapi sifatnya diuruskan oleh Core Data.
Beginilah cara anda biasanya mencipta objek sedemikian dan menetapkan sifatnya (dengan andaian konteks telah disediakan):
#import <Foundation/Foundation.h>
// In a real Core Data app, 'Person' would be
// an NSManagedObject subclass generated from
// your data model.
@interface Person : NSObject
@property (nonatomic, strong) NSString *name;
@property (nonatomic, assign) NSInteger age;
@end
@implementation Person
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// Normally, this object would be created
// via NSManagedObjectContext's insertNewObjectForEntityForName method.
// For this simple runnable example, we use a plain NSObject.
Person *newPerson = [[Person alloc] init];
newPerson.name = @"Alice";
newPerson.age = 30;
NSLog(@"Created person: %@, age: %ld", newPerson.name, (long)newPerson.age);
// In a real Core Data app, you'd then save the context
// to persist this NSManagedObject instance.
}
return 0;
}Menyimpan Perubahan Anda
Selepas anda mencipta, mengubah suai atau memadam tika NSManagedObject dalam NSManagedObjectContext, perubahan ini hanya berada dalam memori.
Untuk mengekalkannya dalam Stor Berterusan, anda mesti mengarahkan konteks supaya menyimpan:
NSError *error = nil;
[context save:&error];
if (error) {
NSLog(@"Error saving context: %@", error);
}Anda mesti sentiasa menyemak ralat semasa menyimpan!
Semakan Pantas: Peranan Core Data
Komponen Core Data yang manakah bertanggungjawab mentakrifkan struktur data aplikasi anda, termasuk entiti dan atributnya?
Rumusan Asas Core Data
Kita telah membincangkan asas Core Data, iaitu rangka kerja pengurusan graf objek daripada Apple. Ingat:
- Ia bukan pangkalan data, tetapi menggunakan pangkalan data untuk penyimpanan.
- Tindanan Core Data merangkumi Model, Penyelaras, Stor dan Konteks.
- Model Objek Terurus mentakrifkan data anda.
- Penyelaras Stor Berterusan menyambungkan model kepada stor.
- Stor Berterusan ialah lokasi fizikal data.
- Konteks Objek Terurus ialah titik interaksi anda.
- Anda berinteraksi dengan tika NSManagedObject dan mesti menyimpan konteks untuk mengekalkan perubahan.
Seterusnya, kita akan meneroka pengambilan data dan interaksi yang lebih kompleks!
Pelajari Objective-C dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 12
- Pelajaran
- 48
Soalan Lazim
Adakah pelajaran “Asas Core Data” percuma?
Ya — teks penuh “Asas Core Data” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan, tingkat taraf kepada CoddyKit PRO. Kursus Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Asas Core Data”?
Fahami asas Core Data, iaitu rangka kerja Apple untuk mengurus graf objek dan storan berterusan. Anda berlatih Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.
Berapa lamakah pelajaran “Asas Core Data” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan ini?
Ya. Setiap pelajaran Pembangunan Objective-C untuk Aplikasi iOS Lama dan Perusahaan menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Senarai Sifat dan Pengarkiban
- Asas Core Data
- Penyepaduan SQLite dengan FMDB
- Menyimpan Keutamaan dengan NSUserDefaults