Невозможно установить изображение NSImageView, используя путь к файлу - PullRequest
0 голосов
/ 17 апреля 2020

Я подключен к событию «Изменено выделение» в NSTableView. Мне нужно отобразить выбранное изображение в виде изображения

func tableViewSelectionDidChange(_ notification: Notification)
       {
        let table = notification.object as! NSTableView

        print(fileArray[table.selectedRow].path);
        img_view.image=NSImage(named: NSImage.Name(rawValue: fileArray[table.selectedRow].path))
       }

Консоль напечатает

/Users/myname/Downloads/435_v9_bc.jpg

Но изображение не отображается изображение.

Обновление 1:

 print(fileArray[table.selectedRow].path);
 img_view.image=NSImage(byReferencing: URL(string: fileArray[table.selectedRow].path)!)

Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании Необязательное значение

Консоль все еще печатает

/Users/myname/Downloads/123_1 (1).jpeg

1 Ответ

1 голос
/ 17 апреля 2020

URL(string: - неправильный API, для путей к файловой системе вы должны использовать URL(fileURLWithPath.

img_view.image = NSImage(byReferencing: URL(fileURLWithPath: fileArray[table.selectedRow].path))

Однако fileArray[table.selectedRow], похоже, уже является URL-адресом, поэтому более простой способ

img_view.image = NSImage(contentsOf: fileArray[table.selectedRow])
...