Как получить подкласс NSFormatter для работы с ключом и селектором NSTableColumn Sort?

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

Вопрос

Моя настройка:

  • У меня есть база данных SQLite, из которой я заполняю nsmutablearray nsdictictionary объектов, это источник данных для моего nstableview.
  • Один из колонн держит «Время», время - это поплавок, который содержит секунды.
  • Я хотел бы отобразить значения в этом столбце как минут: секунды. Например, мои данные будут 123.4329387, я хочу отобразить 2:03, которую у меня нет проблем, делая с подклассом NSFormatter (или NsnumberFormatter), применяемым к моему NstextField в столбце.
  • У меня есть сортировка, настроенная, используя атрибуты столбца таблицы в IB, у меня просто клавиш сортировки, установленный на «Время», а селектор, установленный на «Сравнить:», который работает нормально без форматирования.

В настоящее время это дает мне что-то вроде этого, когда я сортирую (по убыванию)

1:37, 1:31, 0:10, 0:10, 0:09, 1:30, 1:30, 1:26, 0:09

И подобная ерунда, похоже, что-то происходит, но это определенно не отсортировано.

Как мне получить вид, чтобы посмотреть в основные данные вместо отформатированного значения? Посноременно, как мне указать пользовательский метод сортировки и где я поставил код для указанного метода? Я очень немного искал и не нашел ничего, чтобы помочь мне с этой проблемой, любая помощь с этим наиболее ценится.

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

Решение

Оказывается, когда он был сортировка, его используют сравнить: из класса NSString, но он использовал основные числовые данные. Я не совсем уверен, что все происходит под капотом здесь, но мне удалось исправить это, создав свой собственный способ сравнения в категории NSString под названием «TimeCompare». Тогда в интерфейсе Builder я просто поставлю «TimeCompare:» в поле селектора для столбца таблицы. Это получает его, чтобы вызвать мой пользовательский метод сравнения, из которого я просто преобразовал струны, приданные Nsnumbers и Call Carms, сравниваю: на них.

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