Обнаружение дат на iOS: как найти и обработать даты на iOS?
Прежде всего, платформа, над которой я работаю: Swift 3 + iOS 10.3.
Что я пытаюсь сделать:
- Пользователь пытается ввести некоторый текст в текстовом представлении, которое включает время в некотором UITextView. Например: "Встреча в 10 вечера сегодня".
- Теперь, когда у меня есть текст, я хочу выбрать дату события, которая называется "10 вечера сегодня".
- Я хочу преобразовать эту информацию в
Date()
объект.
Что я знаю и пробовал до сих пор:
- NSDataDetectors: они очень полезны для извлечения этой информации из строк, но, как вы можете видеть здесь, пользователь может вводить даты в различных форматах, что делает невозможным охват всех форматов дат для
NSDateFormatter()
, - UITextViews: в них встроено обнаружение данных, но это в первую очередь для нередактируемого текста и оптимально для взаимодействия с пользователем непосредственно в пользовательском интерфейсе. Мне просто нужно извлечь эту информацию.
Что это уже?MacOS. Если вы использовали Напоминания или Календарь в macOS, ввод напоминаний / событий прост: в календаре добавление события "Встреча в 22:00" создает событие, называемое " Встреча запланированное в 10:00", а не просто конвертирует весь текст и создает событие. называется "Встреча в 10 вечера".
Поэтому мне интересно, как я могу использовать вышеупомянутую возможность на iOS, которая кажется встроенной в MacOS? Похоже, что нет никаких сообщений или учебных пособий по этой конкретной возможности (по крайней мере, я не мог найти какие-либо). Если для этого нет API, я был бы признателен, если бы кто-нибудь мог предложить альтернативу для обработки дат из текста, чтобы я мог выполнить вышеизложенное.