Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Почему я получаю эти ошибки в консоли при отладке в XCode?

Автор вопроса: JoshuaОтветов: 3

Я создаю приложение, и когда я запускаю его, я проверяю панель отладки, я получаю следующие ошибки внутри консоли:

2009-05-27 07: 18: 03.852 Spark [1228: 10b] [valueForUndefinedKey:]: объект Projects не соответствует кодированию значений ключа для ключевых примечаний.

2009-05-27 07: 18: 09.029 Spark [1228: 10b] Ошибка установки значения для ключевого пути selectionIndexPaths объекта [entity: Projects] (из связанного объекта с идентификатором объекта 726 в Nib с именем MainMenu.nib): [ valueForUndefinedKey:]: объект Projects не соответствует кодированию ключевых значений для ключевых примечаний.

Это происходит только тогда, когда я привязываю значение текстовых полей к выбору NSTreeController и "Примечаниям" ключа контроллера, я также замечаю, что когда я пытаюсь редактировать текстовое поле в приложении, Outline View зависает (это когда указанная выше ошибка отображается в консоли ). Как я могу это исправить. Если я неправильно привязал текстовое поле, вот изображение привязок для текстового поля: http://snapplr.com/840y

Схема объектов

http://snapplr.com/vqc9

НОВАЯ ошибка

**2009-05-27 18:37:41.661 Spark[3957:10b] Unacceptable type of value for attribute: property = "notes"; desired type = NSString; given type = NSConcreteAttributedString; value = Alpha Nine Zeta{
    NSColor = NSNamedColorSpace System textColor;
    NSFont = "MarkerFelt-Thin 16.00 pt. P [] (0x001a7190) fobj=0x00146ef0, spc=4.00";
    NSOriginalFont = "MarkerFelt-Thin 16.00 pt. P [] (0x001a7190) fobj=0x00146ef0, spc=4.00";
    NSParagraphStyle = Alignment 3, LineSpacing 0, ParagraphSpacing 0, ParagraphSpacingBefore 0, HeadIndent 0, TailIndent 0, FirstLineHeadIndent 0, LineHeight 0/0, LineHeightMultiple 0, LineBreakMode 0, Tabs (
    28L,
    56L,
    84L,
    112L,
    140L,
    168L,
    196L,
    224L,
    252L,
    280L,
    308L,
    336L
), DefaultTabInterval 0, Blocks (null), Lists (null), BaseWritingDirection -1, HyphenationFactor 0, TighteningFactor 0.05, HeaderLevel 0;
}.**
  • Не могли бы вы опубликовать код или диаграмму сущностей для проектов - в этом сообщении говорится, что проблема. Abizern 27.05.2009
  • Только что добавил диаграмму сущности Joshua 27.05.2009

objective-ccocoa

Ответы

Ответ 1 · рейтинг 1 · cocoafan

Если проект выбран в вашем представлении структуры, текстовое поле пытается получить заметки значений из "выбранного" элемента treecontroller, который является проектом. Поскольку у объекта Projects нет атрибута notes, KVO выдает исключение.

Отмените выбор параметра привязки "Повышает для неприменимых ключей" в привязке "значение" текстового поля.

Ответ 2 · рейтинг 1 · Peter Hosey

Вы связали текстовое поле с примечаниями к проектам, но в вашей модели только задачи имеют примечания. Если вы хотели, чтобы в Projectses были заметки, вам нужно добавить это свойство в сущность Projects; если вы хотели привязать к задачам, вам нужно изменить путь ключа модели, возможно, на children.notes.

(Связано: эти имена сущностей действительно должны быть в единственном числе.)

Что касается новой ошибки: текстовые поля не могут отображать стилизованный текст, только обычный текст. Вместо этого сделайте текстовое представление.

Ответ 3 · Abizern

Вторая ошибка:

В атрибутах текстового поля выбран ли у вас вариант RTF? похоже, что он отправляет NSAttributedString свойству Notes, которое ожидает NSString.

Отключите этот параметр, если он установлен.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы