Sobes.tech
Junior — Middle

Core Data аз чӣ маҷмӯи технологияҳо дорад ва барои нигоҳ доштани маълумот чӣ гуна кор мекунад؟

sobes.tech AI

Ҷавоб аз AI

Core Data — рамкаи Apple барои идоракунии модели объектҳо ва нигоҳдории маълумотҳо дар барномаҳои iOS ва macOS мебошад. Он аз чанд компонентҳои асосӣ иборат аст:

  • NSManagedObjectModel — схемаи маълумотро (модел) тавсиф мекунад, аз ҷумла вуҷудҳо ва хусусиятҳои онҳо.
  • NSPersistentStoreCoordinator — ҳамкории байни модел ва нигоҳдории маълумотро ҳамоҳанг мекунад.
  • NSManagedObjectContext — контексти идоракунии объектҳо, ки тавассути он объектҳо эҷод, тағир ва нест карда мешаванд.
  • NSPersistentStore — нигоҳдории маълумоти махсус, масалан, SQLite, XML ё бинарӣ.

Чӣ гуна кор мекунад:

  1. Модели маълумот таҳия мешавад (одатан тавассути муҳаррири модел дар Xcode).
  2. NSPersistentStoreCoordinator эҷод мешавад, ки моделро бо нигоҳдории физикӣ пайваст мекунад.
  3. Бо истифода аз NSManagedObjectContext, барнома бо объектҳое кор мекунад, ки сабтҳои дар базаи додаҳоро инъикос мекунанд.
  4. Тағирот дар контекст ба нигоҳдории маълумот сабт мешавад.

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 пешниҳод мекунад.