2017-02-23 3 views
0

У меня есть программа, которая имеет две библиотеки. Один находится в Objective-C, а один - в Swift.Маска различного формата в объективе-c и swift

С моего веб-сервера я получаю маску формата и задаю маску формата в первой и второй библиотеках.

я первая библиотека NSNumberFormatter используется так ожидали маски формат:

#.#0 mm 

Но во втором, который был обновлен до быстры, они используют сейчас String.init (формат :), поэтому ожидается, формат:

%1.2f mm 

Зачем использовать разную маску формата и как конвертировать один в другой?

ответ

1

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

NSNumberFormatter использует совершенно другой набор правил, чем String(format:). Кроме того, локализован NumberFormatter. Десятичная точка . - это шаблон для выбора . или , в зависимости от региона пользователя. . в String(format:) - буква ..

Ничего общего с Swift или Obj-C. Оба API доступны на обоих языках.

+0

Значит, вы не можете их преобразовать? –

+0

@MarkoZadravec Нет, вы не можете их преобразовать. API-интерфейсы разные, предназначенные для разных применений. – Sulthan

Смежные вопросы