为什么这段代码:
if Note1Math.stringValue == "" {
TxtFilled = 0
}else{
TxtFilled = 1
}
给出这个错误?:
2015-06-18 20:20:17.633 Office [41763:430750]无法连接(Note1)插座(Office.ViewController)到(NSTextField):缺少setter或实例变量。
致命错误:在展开Optional值时意外发现nil (LLDB)
答案 0 :(得分:7)
这部分信息:
2015-06-18 20:20:17.633 Office [41763:430750]无法连接(Note1)插座(Office.ViewController)到(NSTextField):缺少setter或实例变量。
不是来自该代码。它来自加载NIB或故事板。据推测,您曾一次命名出口Note1
,将其连接到NIB或故事板中,然后在代码中将其重命名为Note1Math
,而无需修复NIB /故事板。
然后,稍后,当您访问Note1Math
时,它是nil
(因为它未在NIB /故事板中连接)。这引起了第二条消息:
致命错误:在展开Optional值(lldb)时意外发现nil
解决方案是进入NIB或故事板,使用旧名称断开插座,然后重新连接插座。
答案 1 :(得分:1)
试试这个......
如果Note1Math是文本框......
if Note1Math.text == "" {
TxtFilled = 0
}
else{
TxtFilled = 1
}
如果Note1Math只是一个字符串......
if Note1Math == "" {
TxtFilled = 0
}
else{
TxtFilled = 1
}