【发布时间】:2016-08-23 07:22:02
【问题描述】:
我有一个使用 KVO 功能的代码。
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
...
let oldRect = change?[NSKeyValueChangeOldKey] as! NSRect
所以当我尝试将值转换为 NSRect 时,我得到了错误:
error: Execution was interrupted, reason: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0).
并且对象是NSRect类型的对象:
(lldb) po change?[NSKeyValueChangeOldKey]
▿ Optional<AnyObject>
- Some : NSRect: {{293, 21}, {108, 108}}
【问题讨论】: