我的代码NSimage()在Swift 3中工作正常,但在Swift 5中不工作

时间:2019-04-23 23:46:20

标签: swift cocoa nsimage

我的代码是在窗口中显示image.jpg。那是用Swift 3编写的。最近,我使用Xcode 10.2更新了Swift 4。它根本不起作用。我也在Swift 5中重写了它。它仍然不起作用。我必须下载旧的Xcode 10才能在Swift 3中运行我的代码才能再次工作。我想知道代码发生了什么。

这是我显示图片的主要代码。

override func viewDidAppear() {
    super.viewDidAppear()

    imageView.image = NSImage(byReferencingFile: "\(ViewController.GlobaVariable.selecFile)" )

    print("\(ViewController.GlobaVariable.selecFile)")
    /// The print statement work  but not the image.
}

1 个答案:

答案 0 :(得分:-1)

    let openPanel = NSOpenPanel()
    openPanel.beginSheetModal(for:self.view.window!) { (response) in
        if response.rawValue == NSFileHandlingPanelOKButton
        {
            let fileURL = openPanel.url!

            //////////////////
            let ph = fileURL.absoluteString
            let path = (ph as NSString).substring(from: 7)
            //print(path)

            //////////////////////

            GlobaVariable.selecFile = path

        }
    }