很抱歉这么简单,但这是我在斯威夫特的第一个程序。。。我试图从包含从磁盘加载的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)")
}