以下是我正在尝试为我的应用程序创建功能的原型的viewDidAppear()方法。 graphicsView实例变量通过故事板绑定到我编写的NSView子类的实例,该实例又被包含在NSSplitView中的NSScrollView中。此代码位于该视图的视图控制器内。SnapKit中的错误错误
override func viewWillAppear() {
super.viewWillAppear()
let red = CGColor.init(red: 1, green: 0, blue: 0, alpha: 1)
self.view.layer?.backgroundColor = red
let box = NSTextView()
self.graphicsView.addSubview(box)
box.snp.makeConstraints { (make) -> Void in
make.edges.equalTo(self.graphicsView).inset(NSEdgeInsetsMake(100, 100, self.graphicsView.bounds.height - 200, self.graphicsView.bounds.width - 300))
}
box.textStorage?.append(NSAttributedString(string: "Hello Sailor"))
box.alignCenter(self)
}
在执行时,出现错误与后行闭合用于约束的关闭托架通常EXC_BAD_INSTRUCTION故障沿。
就我所见,NSTextView将被box
强烈保留,所以我不知道错误的来源。该错误出现在ConstraintItem.init(target: AnyObject?, attributes: ConstraintAttributes)
的第一行。根据我在这里发布的自述文件中的说明; SnapKit团队中的某个人是否可以对错误进行补充说明? (如果删除box
- 相关码应用程式正常工作。)
加信息:
该异常发生在ConstraintItem.swift,这是self.target = target
的37行。我在该行之前设置了一个断点,并在调试器中执行了e目标;这是我得到的:
(lldb) e target
(AnyObject?) $R1 = (instance_type = 0x0000608000164c80) {
instance_type = 0x0000608000164c80 {
AppKit.NSTextView = {
[email protected] = <extracting data from value failed>
}
title = "some random text"
minimumWidth = 100
}
}
我在原始帖子的异常点添加了相关的调试器输出。 – Feldur