2012-06-09 21 views
5

Wyszukiwanie tytułu tego wpisu ujawnia, że ​​jest dość powszechny; rzeczywiście, dostałem ten błąd z Xcode. Ale nie mogę znaleźć żadnych poprawek. Widzę to teraz, gdy uruchamiam mój program i wydaje się, że występuje podczas lub po wywołaniu metody changeCountTokenForSaveOperation. Wydaje się, że jest on związany z menedżerem cofania, a nie z faktem, że używam podstawowych danych, ale mogę się mylić.NSDocument: Dokument nie mógł zostać zapisany automatycznie. Plik został zmieniony przez inną aplikację

Czy ktoś wie, co powoduje to i jak to naprawić?

Odpowiedz

-2

Myślę, że ma to związek z faktem, że można przejść do innych plików, klikając nazwę metody, klikając w jabłko. Jeśli wprowadzisz zmiany w jednym pliku, a następnie przejdziesz do innego, pozostawisz poprzednie okno z tyłu. Możesz kliknąć trójkąt "wstecz", aby ponownie go osiągnąć (czyli tuż nad lewym górnym rogiem okna pliku). Ale jeśli miał niezapisane zmiany w tym teraz zaćmionym oknie i ponownie edytujesz ten sam plik w innej karcie lub oknie, XCode zapyta, który z nich zachować, korzystając z powyższej wiadomości.

Kiedy to się dzieje, kopiuję plik na dysku na nową nazwę, a następnie wybieram "Zapisz mimo to" i porównaj dwa pliki. Niestety, czasami są ważne zmiany w każdym pliku i muszę je scalić ręcznie.

Jestem tak sfrustrowany tym, że mogłem płakać.

1

Ten błąd może wystąpić w przypadku NSPersistentDocument, gdy wykonywany jest ręczny zapis w kodzie managedObjectContext klasy NSPersistentDocument. Problem polega na tym, że modyfikujesz dokument na dysku za plecami NSPersistentDocument. Po prostu pozostaw czynności składowania na NSPersistentDocument, a błąd nie wystąpi.

+0

Ale to nigdy nie będzie automatyczne zapisywanie. –

+0

@DaniSpringer Czy zaimplementowałeś 'autosavesInPlace()' z 'return true' w twojej klasie NSPersistentDocument? – Ely

+0

nigdy o tym nie słyszałem. Dowolny link do tego jak to zrobić? –