所以我正在制作应用程序,其中一个功能是ping一个连接到数据库的API并显示返回的一条信息。在这种情况下,它是已加载到数据库中的某些汽车模型的摘要信息。发生错误的代码是
import UIKit class DetailViewController: UIViewController {
var trim : Trims?
var trims: ReturnedDataObject?
@IBOutlet weak var summaryLabel: UILabel!
@IBAction func showSummary(sender: AnyObject) {
summaryLabel.text = trims?.summary
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
控制台输出中显示的信息和确切错误是EXC_BAD_ACCESS(code1,地址:0x0)。当我点击链接到上面文本的按钮以显示摘要文本时,我得到错误。如果需要,我可以提供更多信息。如果有人能提供帮助,我将不胜感激。
答案 0 :(得分:0)
//没有代表发表评论。
所以2件事,summaryLabel.text = trims?.summary
首先检查您是否在该标签上没有可能需要删除的旧连接。
第二 - 如果标签连接100%好,那么这个修剪看起来不对我
var trims: ReturnedDataObject?
...
summaryLabel.text = trims?.summary
如果你永远不会在DetailViewController类中初始化trim(如果这是整个代码,则dunno),那么你无法获得nil修剪的摘要。 如果修剪为零,请检查一些println 如果是,那么你需要在调整修剪之前将一些东西放入修剪中?.summary。我认为你应该做到这一点:
trims!.summary
,因为如果你想使用这个值,我不明白为什么你需要选择。
@IBAction func showSummary(sender: AnyObject) {
if trims != nil {
summaryLabel.text = trims!.summary
} else {
println("trims is nil")
}
}
您可以使用屏幕截图中的修剪替换修剪。
另外一个问题,你确定摘要是String吗?