Я открываю модальную панель для выбора файла, но в ответ я нахожу, что значения .url nil
, а .urls [0] = {}
.
@IBOutlet weak var selectedFilePath: NSPathControl!
@IBAction func chooseFile(_ sender: NSButton) {
var selectedFileURL: URL?
let panel = NSOpenPanel()
// configure the panel
panel.canChooseFiles = true
panel.canChooseDirectories = false
panel.allowsMultipleSelection = false
panel.allowedFileTypes = ["mov","mp4"]
// open the panel
if panel.runModal() == NSApplication.ModalResponse.OK {
selectedFileURL = panel.url
selectedFilePath.url = selectedFileURL
...
}
}
Так что все последующие вызовы функций, которые проходят selectedFileURL
, получают nil
. Однако, чтобы еще больше запутать ситуацию, несмотря на то, что panel.url
и впоследствии selectedFileURL
установлены на nil
, в пользовательском интерфейсе selectedFilePath
NSPathControl обновляется, чтобы отразить выбранный путь к файлу!
Я пробовал много разных способов открыть и ответить на панель, но во всех случаях я не могу получить доступ к URL…