/ / Необходимо ли е да се извика NSManagedObjectContext save: за съхранение в паметта? - ios, какао, основни данни

Нужно ли е да се извика NSManagedObjectContext save: за магазини в паметта? - ios, какао, основни данни

Използвам CoreData в приложението си с постоянен магазин от тип NSInMemoryStoreType.

Необходимо ли е някога да се обаждате NSManagedObjectContext save: с този тип магазин? Дали минава save: да се NSManagedObjectContext всъщност нищо за магазини в паметта?

Документацията на Apple просто заявява:

спестявате:
Опитва да извърши несъхранени промени в регистрираните обекти в техния постоянен магазин.

Какво всъщност означава това в контекста на хранилище в паметта?

Отговори:

4 за отговор № 1

Не можах да намеря никаква документация, но съм сигурна, че все още е необходима.

Core Data има интерфейс в паметта (представен от контекст на управляван обект) и постоянен бекенд ("store"). Постоянният бекенд обикновено е файл, но може просто да се намира вътре в паметта NSInMemoryStoreType.

За всички Core Data функциите да работят, двете части трябва да бъдат разделени и да преминете от интерфейса (предстоящи промени) към бекенда (постоянни данни) чрез save операция.

Забележете, че може да има няколко контекста на управлявани обекти (фронтали) за един и същ магазин (бекенд) и всеки от тях има различни предстоящи промени. Имайте предвид, че има методи като hasChanges и a NSUndoManager на всеки обект на управляван обект. Той все още работи с хранилище в паметта.

Някаква информация тук


1 за отговор № 2

save: извършва валидиране на атрибутите и ограниченията на връзката.