#swift #macos #cocoa #nsopenpanel
Вопрос:
Используя NSOpenPanel, я хотел бы исключить загрузочный диск из диалогового окна (серый цвет). Если это невозможно, я хотел бы получить путь к загрузочному диску («/Тома/Macintosh HD» большую часть времени, но не всегда) в качестве URL-адреса. Я не нашел в сети ничего, связанного с загрузочным диском и swift. Кто-нибудь может мне помочь? Спасибо.
Ответ №1:
Прежде всего, путь к загрузочному диску всегда /
Чтобы отключить URL-адрес в панели, примите NSOpenSavePanelDelegate
и внедрите
func panel(_ sender: Any,
shouldEnable url: URL) -> Bool {
return url.path != "/"
}
Комментарии:
1. Спасибо за ваш ответ. Ну, вот почему я говорю о загрузочном диске, а не о корневой папке. Я хочу сравнить его с URL-адресом, начинающимся с : «/Тома/…», и я не могу использовать корневой путь. Решение NSOpenSavePanelDelegate кажется очень подходящим. Я дам тебе знать. Спасибо.
2. Корневая папка равна пути к текущему загрузочному диску
3. Мне следовало бы раньше взглянуть на ответ в моем диалоговом окне при выборе корневой папки. Я бы заметил, что ответ «/» и что мне просто нужно поставить условие, чтобы отклонить его. Реализация NSOpenSavePanelDelegate-лучший ответ, но я не нахожу полных примеров, чтобы сделать это правильно. Есть какие-нибудь предложения? Ваше здоровье.