我在使用自定义NSMenuItem()
时遇到问题。到目前为止,我已经创建了一个类:Swift中的自定义NSmenuitem
class AllCurrencyList: NSView {
@IBOutlet var allccyimage: NSImageView!
@IBOutlet var allccytext: NSTextField!
}
我已创建了上面,但我挣扎在我的菜单使用它提到的两个IBOutlet
一个厦门国际银行。这里是我想要做的事:
let menu = NSMenu()
let item = NSMenuItem()
item.view = AllCurrencyList //I get the error [Cannot assign a value of type 'AllCurrencyList.Type' to a value of type 'NSView?']
item.allccytext = "foo"
item.allccyimage = NSImage(named: "foo")
大多数我已经找到了教程在目标C,而我努力寻找在斯威夫特的例子。
谢谢你的帮助。
编辑
Grimxn的答案是正确的,但由于某些原因,我一直得到fatal error: unexpectedly found nil while unwrapping an Optional value on (item.view as! AllCurrencyList).allccytext.stringValue = "foo"
。
要修复它,我必须在我的主要故事板中创建我的自定义视图,并创建一个IBoutlet
引用我在创建NSMenu
的类中的视图。我仍然不明白为什么我不能使用我在不同的故事板文件中创建的视图。对于任何运行到同一个问题,this was of great help.
谢谢你,虽然我得到一个错误:'价值的类型'NSView?'?当我尝试使用'item.view.allccytext.stringValue'时,没有成员'allccytext''给了什么? – anto0522
查看更新以回答... – Grimxn
谢谢你,现在我得到一个错误'致命的错误:意外地发现零,同时解开一个可选值'(item.view as!AllCurrencyList).allccytext.stringValue =“foo” '我检查了我的IBoutlets已正确链接,他们是... – anto0522