让这个问题让自己感到羞耻,但没有必要帮助。我只是不明白发生了什么。我以为模拟器崩溃了,但事实证明我不小心设置了一个断点,这就是导致它返回Xcode的原因。
随意忽略,但也许留下这将有助于其他新手Xcode。
我正在学习Swift,并从lynda.com上学习入门课程。我遇到了一个错误,我确信这是因为自从课程开始以来Swift的变化(当我使用6.4时教师在Xcode 6.0.1上)。我希望得到一些帮助,以便我可以继续。
示例项目正在构建一个简单的计算器。我正在创建代码以点击按钮(计算器的UI上的任何数字),并将其显示在作为计算器显示的UILabel中。
这是显然导致问题的功能:
popup = new Ext.Window({
width: 900,
height: 320,
resizable: true,
draggable: true,
id: 'popupWindow',
layout: {
type: 'border'
},
items: [
// ...
{
xtype: 'panel',
region: 'center',
id: 'centerPanel',
autoscroll: true,
margin: '0 5 0 5',
html: jsonData.email
},
// ...
]
});
它并没有在Xcode中显示为错误,但是当我运行模拟器时,当我点击其中一个数字按钮时,模拟器会崩溃回Xcode,而行var str:String! = sender.titleLabel!.text突出显示。
从我已经掌握的一点点开始,我猜测错误与Swift改变处理选项的方式有关。但我只是不太了解,或者如何解决它。
任何帮助将不胜感激!
答案 0 :(得分:0)
试试这个:
var str:String! = sender.titleLabel?.text
答案 1 :(得分:0)
valueString
和str
如果永远不是零,则不需要选项。
尝试:
var valueString: String = ""
@IBAction func tappedNumber(sender: UIButton) {
if let label = sender.titleLabel {
let str = label.text
valueString = valueString.stringByAppendingString(str)
}
label.text = valueString
}