Установка значения в одном объекте программно от другого объекта. Основные данные вопросы - PullRequest
0 голосов
/ 12 января 2010

Я довольно новичок в Core Data, просмотрел много учебников и форумов и не нашел элегантного решения моей проблемы:

В моей модели три сущности: рабочий, задача и подзадача. Каждый из них имеет отношение «ко-многим» к сущности под ним и обратное отношение «один к одному». У работника много задач, у каждой задачи много подзадач, у каждой подзадачи есть одна родительская задача, а у каждой задачи - один работник. SubTask имеет атрибут startTime, который устанавливается на текущее время в методе newObject, и кнопку, которая вызывает метод endSubTask в моем классе SubTaskArrayController. endSubTask вычисляет время между startTime и now и устанавливает это значение для атрибута SubTask timeWorked. Все идет нормально. Проблема:

Каков наилучший способ получения атрибута totalTimeWorked выбранной задачи для обновления самого себя?

Когда я пытаюсь что-то вроде

[currentSubTask setValue:newTotalTime forKey:@"parentTask.totalTimeWorked"];

Я получаю:

[setValue: forUndefinedKey:]: объект Подзадача не соответствует значению ключа для ключа parentTask.totalTimeWorked.

Как получить доступ к атрибутам parentTask для текущей выбранной подзадачи?

1 Ответ

5 голосов
/ 12 января 2010

Вы используете ключевой путь. Вы должны использовать setValue:forKeyPath: вместо этого.

...