我有一个包含很多按钮的界面。我想把它们放在字典中,将它们映射到数字。
我尝试了以下内容:
import Cocoa
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet var window: NSWindow
@IBOutlet var number0 : NSButton
@IBOutlet var number1 : NSButton
@IBOutlet var number2 : NSButton
@IBOutlet var number3 : NSButton
@IBOutlet var number4 : NSButton
@IBOutlet var number5 : NSButton
@IBOutlet var number6 : NSButton
@IBOutlet var number7 : NSButton
@IBOutlet var number8 : NSButton
@IBOutlet var number9 : NSButton
var number = Dictionary<NSButton, Int>()
func applicationDidFinishLaunching(aNotification: NSNotification?) {
number = [number0: 0]
}
}
上面的代码编译得很好(Retina MBP 2.6GHz i7)但是当我运行它时会抛出错误:
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
如果我将Int
改为AnyObject
,就像这样
var number = Dictionary<NSButton, AnyObject >()
它运作得很好。
我做错了什么还是这个错误?
答案 0 :(得分:1)
请尝试在词典中使用Integer。
var number = Dictionary<UIButton, Integer>()
Integer是Int实现的协议。我不确定为什么会这样。