Как получить дату из основных данных и установить значение в UIPicker

Я пишу приложение для iOS, используя xCode 6 и Objective-C. Я также использую данные Core для хранения строк, целых чисел и дат. Я пытаюсь не только хранить данные в ядре, но и извлекать/извлекать их.

У меня возникают проблемы с получением значения атрибута в основных данных типа date (purchaseDate). Я получаю дату, используя UIDatePicker, чтобы получить дату, а затем сохраняю дату, делая следующее:

[newItem setValue:self.purchaseDate.date forKey:@"purchaseDate"];

где newItem имеет тип NSManagedObject;

Это работает без проблем.

После сохранения я теперь пытаюсь получить его, когда пользователь нажимает на данную запись. Я извлекаю строки и целые числа без каких-либо проблем, но получаю сообщение об ошибке, когда пытаюсь получить атрибут Date (называемый PurchaseDate).

Я пытаюсь что-то вроде следующего, которое вызывает исключение,

// Set purchase date

[self.purchaseDate setValue:self.inventorydb forKey:@"purchaseDate"];

Обратите внимание, что атрибут в классе называется PurchaseDate и имеет тип UIDatePicker, в то время как атрибут в основных данных имеет тип Date и также называется PurchaseDate.

Исключение, которое я получаю:

UIDatePicker setValue:forUndefinedKey this class is not key value coding-compliant for the key purchaseDate.

Я уже сделал чистку, перестройку, а также удаление приложения из симулятора iOS, но безрезультатно.

Я искал другие примеры, но не нашел ничего работающего. Любая помощь в этом отношении приветствуется!.


person Anye    schedule 16.12.2014    source источник


Ответы (2)


Вы можете сначала указать свою дату в NSDate, а затем сделать что-то вроде:

self.purchaseDate.date = theNSDate;

Здесь кажется, что вы пытаетесь поместить объект типа NSDate в свой UIDatePicker, когда вы получаете NSDate, но пытаетесь поместить его в self.purchaseDate.

person Biniou    schedule 16.12.2014

Основываясь на вашем предложении, я попробовал следующее, что сработало.

[self.purchaseDate setDate: [self.inventorydb valueForKey: @"purchaseDate"]];

person Anye    schedule 16.12.2014