很抱歉这么简单,但这是我在斯威夫特的第一个程序。。。我试图从包含从磁盘加载的JPEG图像的NSData创建NSImage(url在数组名choseFiles[]中)。
编译器在第二个问题上出错,我陷入困境:'NSData'不能隐式转换为'Data';是否要使用'as'显式转换?
谢谢你

let imageAsNSData = NSData(contentsOf: chosenFiles[0])  // UIKit/UIImage for iOS not MacOS !
let imageAsNSImage = NSImage(data: imageAsNSData)
if (imageAsNSImage) {
   // image could be created from NSData
   //

} else {

   // image could NOT be created from NSData
   //

}

-----编辑-----
我试过了
let imageAsNSImage = NSImage(data: imageAsNSData! as Data) if (imageAsNSImage != nil) {
这似乎是可行的(至少对于编译器来说)。我说的对吗?

最佳答案

您可以使用swift数据获取图像:

do {
    let imageData = try Data(contentsOf:  chosenFiles[0])
    NSImage(data: imageData)
} catch {
    print("Unable to load data: \(error)")
}

10-07 14:09