Магическая запись saveWithBlock: не сохранение

У меня возникают проблемы с сохранением моих объектов с помощью метода [MagicalRecord saveWithBlock: завершение]. Когда я переключаюсь на использование обычных блоков, он отлично работает. Использование версии 2.2develop.

Ниже приведен код, и я прокомментировал saveWithBlock: конкретные части. Метод executeBlock …: методы просто переносят dispatch_async и executeBlockOnMainThread: заменяет блок завершения:.

[card.managedObjectContext MR_saveToPersistentStoreAndWait]; //[MagicalRecord saveWithBlock:^(NSManagedObjectContext *localContext) { // Replace this... [NSObject executeBlockInBackground:^{ // With this... Card *localCard = [card MR_inContext:[NSManagedObjectContext MR_contextForCurrentThread]]; // MR_inContext:localContext]; NSRange range = [localCard.fragment rangeOfString:localCard.term options:NSCaseInsensitiveSearch]; if (range.location == NSNotFound){ return; } NSString *fragmentString = [localCard.fragment stringByReplacingOccurrencesOfString:@" " withString:@"+"]; NSString *url = [NSString stringWithFormat:@"https://www.lingq.com/api/languages/%@/phrases/?word=%@&frag=%@&start=%@", appDelegate.currentLanguage, localCard.term, fragmentString, @(range.location)]; NSMutableURLRequest *request = [LQAPI requestForURL:url body:nil HTTPMethod:@"GET"]; NSData *response = [LQAPI executeURLRequest:request]; NSDictionary *responseDictionary = [LQAPI dictionaryFromJSONData:response]; if (responseDictionary == nil){ return; } NSArray *phrases = [responseDictionary objectForKey:@"phrases"]; NSMutableArray *cards = [NSMutableArray array]; int index = 0; for (NSDictionary *d in phrases){ Card *c = [self cardFromDictionary:d content_id:localCard.content_Id index:index type:BlueCard]; c.parentID = localCard.mId; // This marks it as a phrase [cards addObject:c]; index++; } [localCard.managedObjectContext MR_saveToPersistentStoreAndWait]; // This shouldn't be necessary using saveWithBlock: and it didn't help when I tried it. NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parentID = %@", localCard.mId]; NSArray *phrases2 = [Card MR_findAllWithPredicate:predicate]; // All the objects appear fine here [NSObject executeBlockOnMainThread:^{ // This would have been in the completion block below NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parentID = %@", card.mId]; NSArray *phrases = [Card MR_findAllWithPredicate:predicate]; // This does find phrases [delegate didFetchPhrases:phrases forCard:card]; }]; }]; /* completion:^(BOOL success, NSError *error) { NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parentID = %@", card.mId]; NSArray *phrases = [Card MR_findAllWithPredicate:predicate]; // This doesn't find any phrases [delegate didFetchPhrases:phrases forCard:card]; }];*/ 

2 Solutions collect form web for “Магическая запись saveWithBlock: не сохранение”

В конце концов, это была моя вина (конечно!). Метод cardFromDictionary: использовал MR_contextForCurrentThread. Передача этого localContext решила проблему.

В Github я обнаружил, что выборка во время saveWithBlock: нет: https://github.com/magicalpanda/MagicalRecord/issues/339

  • Шифрование основных данных с помощью MagicalRecord
  • Альтернатива для fetchedResultsController с помощью magicalrecord?
  • JSONModel с MagicalRecord
  • Единичное тестирование с использованием киви, основных данных и магической записи
  • Хранилище Core Data пустое после обновления приложения, но модель данных не изменилась
  • CoreData, MagicalRecord и Long-Lived ManagedObjectContexts
  • Что делает Magical Record, что RESTKit не делает? Должен ли мне когда-нибудь понадобиться обе структуры?
  • какая разница между методом MR_saveToPersistentStoreWithCompletion и методом MR_saveToPersistentStoreAndWait в MagicalRecord
  • Волшебная запись с AFIncrementalStore
  • Как «слить» основные конфигурации данных?
  • Ошибка CoreData на устройстве, но тонкая на симуляторе
  • Interesting Posts

    firebase iOS не получает push-уведомления

    фатальная ошибка: элемент NSArray не соответствует типу элемента Swift Array

    Как делиться данными между iPhone и applewatch?

    Быстрые дни между двумя NSDates

    touchsMoved обнаружение внутри подвью

    щелчок / постукивание между буферами для AudioQueue

    Почему в Swift произошло «использование необъявленного типа UITableView»?

    Обнаружение событий вызова в ios

    Parse.com Возможно ли войти в систему с помощью facebook, проверяя, существует ли у пользователя пользовательское письмо пользователя в синтаксическом анализе, и если он связывает оба?

    Как реагировать на игнорируемые приглашения в Game Center?

    Phonegap – Сохранить изображение с URL-адреса в галерее устройств

    Как установить цвета в светящемся эффекте UILabel?

    Использование OpenCV для определения грани / формы лица на iOS

    Несбалансированные вызовы для перехода на начало / конец для <FirstViewController: 0x2a2c00>

    iOS как отлаживать сбои без трассировки стека, например: : индекс 0 за пределами для пустого массива?

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.