Проблема сохранения основных данных: не удается обновить трансформируемый атрибут (NSArray)

У меня странная проблема в моем приложении Core Data.

У меня есть три сущности в моем приложении, но сегодня я обнаружил проблему с одной из них . Моя проблемная сущность называется Счет-фактура и имеет множество атрибутов, в том числе Продукты . Он закодирован в NSArray NSDictionaries (через NSValueTransformer по умолчанию).

Все работает нормально - я создаю свой счет, его клиента, его продукты и т. Д. Все работает.

Но , когда я выбираю свой счет из списка а затем попробуйте отредактировать свои продукты и нажмите кнопку "Сохранить",мое сохранение работает только до тех пор, пока мое приложение не будет прекращено.

Проблема только с моим массивом products - остальное (например, дата платежа, клиент и т. д.) сохраняется.


Что я делаю

] Я передаю свой объект Invoice через

NSManagedObject *inv = [self.fetchedResultsController objectAtIndexPath:indexPath];
invoiceEditor.invoice = inv;

и сохраняю свои данные (в моем InvoiceEditor VC):

[self.invoice setValue:client forKey:@"Client"] // NSDictionary;
[self.invoice setValue:products forKey:@"Products"] // NSArray of NSDictionaries;
[self.invoice setValue:pmDate forKey:@"PaymentDate"] // NSDate;
// other attributes
NSManagedObjectContext *context = self.invoice.managedObjectContext;
NSError *error = nil;
if (![context save:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}

Все сохраняется, пока не будет прекращено: клиент, продукты, даты. Но только продукты «сбрасываются» после прекращения.

Кто-нибудь?

5
задан akashivskyy 18 July 2011 в 13:09
поделиться