Основная проблема связывания данных в NSNumberFormatter и NSDatePicker - PullRequest
1 голос
/ 14 декабря 2010

Я пробую пример приложения с основными данными, из Cocoa Programming - Aaron Hillegass.

В нем есть сущность Car, обладающая следующими свойствами:

  1. Состояние - Int 16
  2. датаПокупка - Дата
  3. makeModel - String
  4. onSpecial - Boolean
  5. фото - Binary
  6. цена - десятичная

Существуют определенные объекты просмотра, такие как -

  1. TableView
  2. DatePicker
  3. Имидж и т. Д.

Некоторые из выполненных привязок -

  1. TableView -> TableColumn с NSNumberFormatter (задан в качестве валюты) -> значение :ограммаObjects.price
  2. DatePicker -> value: selection.datePurchased

Проблемы:

  1. В TableColumn с NSNumberFormatter он не принимает какие-либо десятичные числа, которые я ввожу для валюты, например - 123,00 или 123,45 или +235 или 567. Всегда отображается это предупреждающее сообщение: Ошибка форматирования.

  2. Всякий раз, когда я выбираю строку в таблице и изменяю ее соответствующее значение в средстве выбора даты, он одновременно меняет значения для других записей, т.е. если для первой строки таблицы я установил его на 25.12.2004, то для других строк он будет сохранен 12.12.2004.

Может кто-нибудь помочь мне решить мои проблемы? Исходный код можно найти здесь

Спасибо

Miraaj

Ответы [ 2 ]

0 голосов
/ 24 декабря 2010

Еще раз проверил код в моей домашней сети, и ваша ссылка работала нормально.Проблема с проектом заключается в том, что вам нужно ввести символ валюты при редактировании значения (для меня $).Чтобы снять это требование, установите флажок «Lenient» для форматера в IB.

0 голосов
/ 15 декабря 2010

Ссылка на ваш код дает мне 404.NSNumberFormatter предназначен для использования с NSTextFieldCell в вашей таблице, а не столбцом таблицы.Если вы делаете это в Интерфейсном Разработчике, проверьте в виде списка, чтобы видеть, что объекты расположены в иерархии:

NSTableView -> NSTableColumn -> NSTextFieldCell -> NSNumberFormatter.
...