NSMutableArray, снабженный базовыми данными = РАБОТЫ, но после изменяющегося массива, не РАБОТАЕТ

У меня есть NSManagedObject с NSMutableArray как атрибут:

@interface MyObject :  NSManagedObject  
{
}

@property (nonatomic, retain) id a1;

В модели данных это объявляется как Transformable. Я уехал, поле Value Transformer как он со значением по умолчанию (в светло-сером) NSKeyedUnarchiveFromData.

a1 создается как часть theObject:

MyObject  *theObject = [NSEntityDescription insertNewObjectForEntityForName:@"MyObject" inManagedObjectContext: myManagedObjectContext];

и инициализированный:

a1 = [[NSMutableArray alloc] init];

Объекты добавляются к a1 с [a1 insertObject:[NSNumber numberWithInt:0] atIndex: 0 ];

Затем я сохраняю контекст, в конце концов, это. При загрузке контекста назад все элементы, сохраненные в a1, сохраняются и загружаются. ALL WORKS WELL!

НО когда теперь a1 ИЗМЕНЕНИЯ, например, путем добавления еще одного элемента к a1 или изменения любого элемента в a1 и контексте сохраняется и загрузился назад, содержание a1 НЕИЗМЕННО (это остается точно, как это было, прежде чем все изменения произошли). CHANGES DON'T WORK!

Между прочим, в то время как приложение работает, все изменения в a1 ХРАНЯТСЯ в a1.

Можно ли помочь - что продолжается здесь?

Спасибо ver очень для Вашей справки!

7
задан user387184 6 August 2010 в 18:15
поделиться

1 ответ

Изменения внутри вашего массива не будут работать, потому что Core Data не может видеть в массиве.

Краткий ответ: не делайте этого . Это не причина хранить массив (или словарь, если на то пошло) в Core Data.

Создайте новую сущность в Core Data и установите связь. Если порядок важен, поместите атрибут порядка в дочернюю таблицу.

Не храните массивы как двоичные объекты.

20
ответ дан 6 December 2019 в 09:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: