2
我是XCode和Swift的新手。尝试在OS X应用程序中简单地设置我的视图中的图像。图像应该从网上加载,但我认为这并不重要。Swift:如何更改NSImage图像源?
我创建了一个新的可可应用程序,有一个可用的列表视图。在列表行的XIB中,我放置了一个“Image View”元素,并且可以在每行中显示静态图像。
现在我想在行加载时更改图像URL。我将图像中的行拖到我的控制器类中,该类将@IBOutlet
添加到代码中。
这是我的控制器类的代码:
import Cocoa
class ListRowViewController: NSViewController {
@IBOutlet weak var rowImage: NSImageView!
override var nibName: String? {
return "ListRowViewController"
}
override func loadView() {
super.loadView()
var url = NSURL(fileURLWithPath: "http://example.com/some-image.png")
var image = NSImage(byReferencingURL: url!)
self.rowImage.image(image)
}
}
现在非常
搞笑
令人沮丧的错误从最后一条语句消息(self.rowImage.image(image)
)是
不能转换表达式的类型“NSImage中'键入'NSImage?'。
好的。这是什么意思,我该如何解决它?这与某些选择权有关吗?我尝试了?
的和!
的,但无法弄清楚XCode对我的期望。
Thanks @rintaro,那真的是它。我有点尴尬。在我经历的Objective-C教程中,有一个'.setImage'方法,现在它似乎已经不存在了。有意义的是,'.image'是属性。猜猜它在XCode中提出的问题太多,没有提供像“没有这样的方法:图像”的提示。 :)而且你对NSURL再合适不过了。随着这两个变化,它的作品完美。再次感谢! – udondan 2014-11-07 03:08:30