Zacząłem małą aplikację opartą na dokumencie z NSOutlineView w głównym oknie. Zapisałem mój model w plikach przy użyciu protokołu NSCoding w klasach modeli i wszystko jest w porządku.Utracono dzięki funkcji wznawiania okna, autozapisywania w preferencjach użytkownika i zapisywaniu w modelu dla NSDocument
Następnie chciałem zapisać interfejs użytkownika (rozmiar i położenie okna, rozwinięte elementy w widoku konspektu, wybór, ...) i znalazłem funkcję Wznów dodaną do Lwa.
Więc próbowałem go zaimplementować, dodałem nazwę automatycznego zapisu do głównego okna i widoku konspektu, ustawię właściwość autosaveExpandedItems i zaimplementowałem metodę outlineView: itemForPersistentObject: i outlineView: persistentObjectForItem: w źródle danych widoku konspektu.
To działa, ale gdy utworzę/otworzę inny plik, a następnie go zamknę, stan rozwiniętych elementów pozostałych plików zostanie ustawiony ze stanem zamkniętego pliku.
To tak, jakby aplikacja zapisywała tylko jedno okno dla wszystkich dokumentów, a nie jedno okno na dokument.
Jestem trochę zagubiony z autozapisu i wznowienia, czy to ta sama funkcja, czy dwie funkcje zupełnie inaczej?
Czy mogę go użyć do zapisania stanu okna lub potrzeby zapisania go w moim modelu?
Dziękuję