Установка значения в одном объекте программно из другого объекта.Вопросы по основным данным

StackOverflow https://stackoverflow.com/questions/2050925

Вопрос

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

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

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

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

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

Я получаю:

[ setValue:для определенного ключа:]:сущность Подзадача не соответствует кодированию значения ключа для ключа parentTask.totalTimeWorked.

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top