我的界面有很多按钮。我想将它们放入字典中以将它们映射到数字。
我尝试了以下方法:
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 >()
效果很好。
我做错了什么还是这是一个错误?
最佳答案
尝试在字典中使用 Integer。
var number = Dictionary<UIButton, Integer>()
Integer是Int实现的协议(protocol)。我不太确定为什么会这样。
关于swift - 如何使用字典将 NSButton 映射到 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24067187/