Използвам CoreData в приложението си с постоянен магазин от тип NSInMemoryStoreType
.
Необходимо ли е някога да се обаждате NSManagedObjectContext save:
с този тип магазин? Дали минава save:
да се NSManagedObjectContext
всъщност нищо за магазини в паметта?
Документацията на Apple просто заявява:
спестявате:
Опитва да извърши несъхранени промени в регистрираните обекти в техния постоянен магазин.
Какво всъщност означава това в контекста на хранилище в паметта?
Отговори:
4 за отговор № 1Не можах да намеря никаква документация, но съм сигурна, че все още е необходима.
Core Data
има интерфейс в паметта (представен от контекст на управляван обект) и постоянен бекенд ("store"). Постоянният бекенд обикновено е файл, но може просто да се намира вътре в паметта NSInMemoryStoreType
.
За всички Core Data
функциите да работят, двете части трябва да бъдат разделени и да преминете от интерфейса (предстоящи промени) към бекенда (постоянни данни) чрез save
операция.
Забележете, че може да има няколко контекста на управлявани обекти (фронтали) за един и същ магазин (бекенд) и всеки от тях има различни предстоящи промени. Имайте предвид, че има методи като hasChanges
и a NSUndoManager
на всеки обект на управляван обект. Той все още работи с хранилище в паметта.
Някаква информация тук
1 за отговор № 2
save:
извършва валидиране на атрибутите и ограниченията на връзката.