У меня есть приложение Ma c со встроенным форматированным текстом NSTextView
. У меня включена функция «Смарт-ссылки», поэтому при вводе URL-адреса этот URL-адрес автоматически превращается в интерактивную гиперссылку.
textView.isAutomaticLinkDetectionEnabled = true
Проблема заключается в том, что при этом автоматически изменяется назначение существующих ссылок. если они выглядят как действительный URL.
Пример:
Представьте, что у вас есть список закладок для быстрого поиска различных терминов, таких как "Swift". Вы добавляете полную ссылку в качестве места назначения (https: // www.google.com/search?hl=en&q=swift), но называете ссылку просто "google.com".
Если вы продолжите печатать после ссылки, ее пункт назначения будет возвращен на "google.com", поскольку он распознается как действительный URL:
Вы можете воспроизвести это в TextEdit:
- Создать новый форматированный текстовый документ
- Тип "google.com" ← он превращается в ссылку
- Ctrl-клик по ссылке> Редактировать ссылку…
- Введите новый пункт назначения> OK
- Введите справа после вставленной ссылки
→ Его назначение изменяется обратно на заголовок ссылки.
Это ошибка или функция? Я бы сказал, что это нежелательное поведение, потому что это приводит к потере данных для пользователя (фактическое назначение ссылки). Я ожидал бы, что только оставшиеся ссылки в «обычном тексте» преобразуются в гиперссылки при проверке текста.
Последний вопрос:
Как можно избежать существующие ссылки назначения автоматически обновляются?