Сохранение контекста для каждого действия

У меня есть сетевой Парк моего приложения, которое обнаруживает устройства в сети и вставляет в coredata через магическую запись. Но это происходит на каком-то другом потоке, не главном потоке. Также у меня есть UITableView с fetchresultcontroller, который показывает устройства в виде таблицы. Но только вариант как отпустить fetchRequestController сейчас о моих изменениях был, вызывая это:

[[NSManagedObjectContext MR_contextForCurrentThread] MR_saveToPersistentStoreAndWait];

После каждого изменения. Отсутствует я что-то, или это правильный способ, как это сделать?

Образец:

[MagicalRecord saveWithBlockAndWait:^(NSManagedObjectContext *localContext){
    MyCDDevice * localDevice = [MyCDDevice MR_createEntityInContext:localContext];
    [localDevice initFromDictionary:dictionary];
}];

[[NSManagedObjectContext MR_contextForCurrentThread] MR_saveToPersistentStoreAndWait];

1 ответ

  1. Экономьте на каждой целой операции с данными, которую рекомендует MagicalRecord . После saveWithBlockAndWait:этого он сохраняется в постоянном хранилище, поэтому в этом нет необходимости MR_saveToPersistentStoreAndWait.