NS对象没有公认的成员

时间:2014-12-26 12:16:17

标签: xcode macos swift

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的文档显示它确实有两个。

谢谢!

2 个答案:

答案 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)