我尝试使用类创建一个简单的复数计算器。我的应用程序已成功编译,但是当我运行它时,出现了一个空白窗口,而不是一个包含所有按钮、标签等的窗口,我在输出窗口中收到了以下消息:
2016-03-08 22:20:42.499 复数 [30404:2328250] 无法在 (NSWindow) 上设置 (contentViewController) 用户定义的检查属性:无法从对象 <_NSControllerObjectProxy: 0x6000000022c0c0> of class _NSControllerObjectProxy 创建 BOOL
这是我的 ViewController 类代码。它涉及到一个 complexNumber 类,这里我没有提交:
class ViewController: NSViewController {
@IBOutlet var Screen: NSView!
var a = complexNumber();
@IBOutlet var realValue: NSTextField!
@IBOutlet var imaginaryValue: NSTextField!
@IBOutlet var resultLabel: NSTextField!
@IBAction func lengthResult(sender: AnyObject) {
let r = NSString(string: realValue.stringValue).doubleValue;
let i = NSString(string: imaginaryValue.stringValue).doubleValue;
a = complexNumber(real: r, imaginary: i);
resultLabel.stringValue = String(a.trigonometric());
}
@IBAction func trigonometryResult(sender: AnyObject) {
let r = NSString(string: realValue.stringValue).doubleValue;
let i = NSString(string: imaginaryValue.stringValue).doubleValue;
a = complexNumber(real: r, imaginary: i);
resultLabel.stringValue = String(a.length());
}
@IBAction func operation(sender: AnyObject) {
a = complexNumber(real: NSString(string: realValue.stringValue).doubleValue, imaginary: NSString(string: imaginaryValue.stringValue).doubleValue);
realValue.stringValue = ""
imaginaryValue.stringValue = "";
let b = complexNumber(real: NSString(string: realValue.stringValue).doubleValue, imaginary: NSString(string: imaginaryValue.stringValue).doubleValue)
switch sender.stringValue {
case "+": a = a.sum(b)
case "-": a = a.dif(b)
case "x": a = a.mul(b)
case ":": a = a.div(b)
default: a = a.sum(complexNumber())
}
}
@IBAction func displayResult(sender: AnyObject) {
resultLabel.stringValue = String("\(a.real) + i*\(a.imaginary)");
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在这里找到了一个类似的线程,但我认为这不是我想要的。
你能帮我吗?
另一个原因 - 当您设置错误的绑定时。我的错误示例:
Failed to set (contentViewController) user defined inspected property on (NSWindow): [<NSProgressIndicator 0x10111b890> valueForUndefinedKey:]: this class is not key value coding-compliant for the key Enabled.
Run Code Online (Sandbox Code Playgroud)