2013-05-17 27 views
9

NSPersistentStoreCoordinator ma cztery typy sklepów: NSSQLiteStoreType, NSXMLStoreType, NSBinaryStoreType i NSInMemoryStoreType. Rozumiem, że magazyn XML może być przydatny do debugowania, lub do pamięci, gdy potrzebujesz niestabilnej pamięci podręcznej.Jakie są zalety NSBinaryStoreType?

Jakie są rzeczywiste zalety używania typ Binary sklepie?

Odpowiedz

13

NSBinaryStoreType zajmie najmniej miejsca na dysku, a ładuje się najszybciej, z atomowych rodzajów sklepów.

Typy sklepów atomowych ładują każdy obiekt Core Data w dokumencie naraz, więc po załadowaniu dokumentu wszystko to znajduje się w pamięci i nigdy nie trafisz na dysk, dopóki nie trafisz na save:. NSSQLiteStoreType zajmie binarny podobną ilość miejsca na dysku, będzie ładować bardzo szybko i może żyć w sposób arbitralny ograniczoną pamięć, ale plik dokument musi być dostępny na dysku tak długo, jak aplikacja ma je otwarte - nie mogą być usunięte lub nadpisane przez inną aplikację, gdy jej używasz, którą typy atomowe będą tolerować. Istnieją również pewne ograniczenia SQL typu magazyn laid out here - ogólnie atomowych typów sklepów wykonać znacznie szybciej i daje więcej możliwości, kosztem coraz większym zużyciu pamięci.

NSBinaryStoreType nie jest wcale najskuteczniejszym typem magazynu atomowego: możliwe, nie jest skompresowany w żaden sposób. Można napisać własną spakowane XML lub JSON Store Typ która prawdopodobnie zajmowania mniej miejsca na dysku niż jednej NSSQLiteStoreType lub NSBinaryStoreType, kosztem obciążenia/zapisywania prędkości.

Powiązane problemy