Swift和Xcode都是新手,所以对可能是一个非常明显的问题表示道歉。
我正在编写一个简单的NSStatusItem应用程序并且遇到了一些似乎应该有明显解决方案的东西。通过各种教程,我将菜单的图标设置为我试图适当调整大小并设置为模板的图像。
var icon = NSImage(named: "klick_sensei_icon")
icon.size = NSSize(width: 16, height: 16)
icon.setTemplate(true)
我在第二行和第三行遇到了构建错误:
AppDelegate.swift:36:9:' NSImage?'没有名为' size'
的成员AppDelegate.swift:37:9:' NSImage?'没有名为' setTemplate'
的成员
检查NSImage的文档显示它确实有两个。
谢谢!
答案 0 :(得分:3)
icon
变量为optional
,因NSImage(named...
因图片文件丢失或名称错误等而可能无法返回图片。
因此,要访问您需要解开icon
的成员
icon!.size = NSSize(width: 16, height: 16)
icon!.setTemplate(true)
...虽然在打开它之前你应该测试icon
不是零。 e.g。
if let icn = icon {
icn.size = NSSize(width: 16, height: 16)
icn.setTemplate(true)
}
答案 1 :(得分:1)
NSImage(名为:)返回一个可选的NSImage,你需要打开它,试试这个
var icon = NSImage(named: "klick_sensei_icon")
icon?.size = NSSize(width: 16, height: 16)
icon?.setTemplate(true)