Junior — Middle
Core Data аз чӣ маҷмӯи технологияҳо дорад ва барои нигоҳ доштани маълумот чӣ гуна кор мекунад؟
sobes.tech AI
Ҷавоб аз AI
Core Data — рамкаи Apple барои идоракунии модели объектҳо ва нигоҳдории маълумотҳо дар барномаҳои iOS ва macOS мебошад. Он аз чанд компонентҳои асосӣ иборат аст:
- NSManagedObjectModel — схемаи маълумотро (модел) тавсиф мекунад, аз ҷумла вуҷудҳо ва хусусиятҳои онҳо.
- NSPersistentStoreCoordinator — ҳамкории байни модел ва нигоҳдории маълумотро ҳамоҳанг мекунад.
- NSManagedObjectContext — контексти идоракунии объектҳо, ки тавассути он объектҳо эҷод, тағир ва нест карда мешаванд.
- NSPersistentStore — нигоҳдории маълумоти махсус, масалан, SQLite, XML ё бинарӣ.
Чӣ гуна кор мекунад:
- Модели маълумот таҳия мешавад (одатан тавассути муҳаррири модел дар Xcode).
NSPersistentStoreCoordinatorэҷод мешавад, ки моделро бо нигоҳдории физикӣ пайваст мекунад.- Бо истифода аз
NSManagedObjectContext, барнома бо объектҳое кор мекунад, ки сабтҳои дар базаи додаҳоро инъикос мекунанд. - Тағирот дар контекст ба нигоҳдории маълумот сабт мешавад.
Core Data таъмин мекунад:
- Идоракунии давраи зиндагии объектҳо.
- Кешгирӣ ва пайгирии тағирот.
- Саволҳо ва филтркунии маълумот тавассути
NSFetchRequest. - Дастгирии мигратсияҳои схемаи маълумот.
Масалан барои эҷод ва нигоҳдории объект:
let context = persistentContainer.viewContext
let newEntity = NSEntityDescription.insertNewObject(forEntityName: "Person", into: context)
newEntity.setValue("Иван", forKey: "name")
try? context.save()
Инчунин, Core Data механизми қавӣ ва қулай барои нигоҳдорӣ ва идоракунии маълумот дар барномаҳои Apple пешниҳод мекунад.