Как создать подкласс NSNumberFormatter - PullRequest
1 голос
/ 10 января 2020

У меня есть приложение macOS, написанное на Swift, с некоторыми NSTextFields, связанными с NSNumbers и с NSNumberFormatters.

Поскольку мне нужно специальное форматирование для этих чисел, я попытался создать собственный NSNumberFormatter:

class CustomNumberFormatter: NSNumberFormatter {

    override func number(from string: String) -> NSNumber? {
    ....
    }

   override func string(from number: NSNumber) -> String? {
   ....
   }
}

Суть в том, что я получаю это сообщение об ошибке:

NSNumberFormatter переименован в NumberFormatter

Я пытаюсь создать подкласс NumberFormatter, но в этом случае CustomNumberFormatter не отображается в раскадровке.

Что мне не хватает?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 11 января 2020

Кажется, что все работает нормально, если я подкласс от NumberFormatter. Протестировано положить его в раскадровку, и это работает. Обратите внимание, что модуль соответствует проекту "Tester2", поэтому он выбирает правильный класс. Я использую Xcode 11.3 (11C29) на macOS 10.15, если это имеет значение.

enter image description here

enter image description here

0 голосов
/ 18 января 2020

Я ожидал, что смогу выбрать класс CustomNumberFormatter из выпадающего списка, который вместо этого пуст.

Ручная запись имени класса решила проблему.

Я не знаю, если это это ожидаемое поведение или нет, но это сработало.

...