Problem resetowania / odświeżania NSManagedObjectContext i NSArrayController
Mam problem z tym, aby mój interfejs użytkownika odzwierciedlał zewnętrzne zmiany (wprowadzone przez inny proces) w magazynie danych sqlite.
Mam dość standardowy rdzeń oparty na danych NSArrayController / widok tabeli. Moja aplikacja zostaje powiadomiona, że w danych wprowadzono zewnętrzne zmiany, w tym momencie robię
[managedObjectContext reset]; // brute force, but data set is small
Problem polega na tym, że wykonanie tego powoduje wyczyszczenie wszystkich danych z tabeli. Ułożone obiekty kontrolera tablicy są również puste. Myślałem o kolejnym
[arrayController fetch:nil];
może pomóc, ale tak nie jest. Wykonanie żądania pobrania na managedObjectContext pokazuje, że dane są obecne i zaktualizowane, więc managedObjectContext wie o zmianach.
Wszelkie wskazówki, jak „odzyskać” po zresetowaniu? A może podejście resetowania jest całkowicie błędne, w takim przypadku czy istnieje lepszy sposób na załadowanie zmian zewnętrznych?