MagicalRecord Не сохраняет сущность отношения многие-многие

Когда я запускаю свое приложение в первый раз, я создаю Show Объект, который содержит отношение ко многим Feature юридическое лицо. После запуска моего приложения только в первый раз оно правильно хранит мой Show Object с правильными функциями. Проблема в том, что, когда я запускаю свое приложение во второй раз, оно удаляет все функции из моей базы данных, несмотря на то, что второй раз не обращается к БД (Мы показываем обновление только один раз каждые 5 дней).

Вот код, который я использую для хранения:

-(void)insertOrUpdateShow:(Show_fr*)show withObjects:(NSDictionary*)item forMoc:(NSManagedObjectContext*)context
{
    if (!show)
    {
        show = [Show_fr MR_createInContext:context];
    }
    show.title                  = [item objectForKey:@"title"] ;
    show.latitude               = [item objectForKey:@"latitude"] ;
    show.longitude              = [item objectForKey:@"longitude"] ;
    NSArray * features          = [item objectForKey:@"feature"] ;
    for (NSDictionary * featureDict in features) {
        [show addFeaturesObject:[self createFeatureFromDictionnary:featureDict forMoc:context]];
    }
    [context MR_saveToPersistentStoreAndWait];
}

-(Feature_fr*)createFeatureFromDictionnary:(NSDictionary*)featureDictionary forMoc:(NSManagedObjectContext*)context
{
    Feature_fr * feature = [Feature_fr MR_createInContext:context];
    feature.icon    = [featureDictionary objectForKey:@"icon"] ;
    feature.label   = [featureDictionary objectForKey:@"label"] ;
    feature.value   = [featureDictionary objectForKey:@"value"] ;
    return feature;
}

Просто чтобы уточнить, что при первом запуске у меня есть 6 шоу и 127 объектов объекта в моей БД, а со второго раза у меня есть 6 шоу, но 0 функций.

Не могли бы вы знать, как решить эту проблему?

С уважением

2 ответа

В моем случае я забыл установить модель.

MagicalRecord.setDefaultModelFrom(Model.self)

Вы можете использовать блок сохранения магической записи, чтобы знать, что ваши данные успешно сохранены в обеих таблицах

[[yourObject managedObjectContext] MR_saveToPersistentStoreWithCompletion:^(BOOL contextDidSave, NSError *error) {

        if (!error) {
    NSLog(@"Object %@",object);
        }
 }];

В этом коде "yourobject" - это объект, который вы хотите сохранить

Другие вопросы по тегам