显示控制台输出会产生EXC_BAD_ACCESS错误

时间:2015-07-27 18:18:26

标签: ios xcode swift

所以我正在制作应用程序,其中一个功能是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)。当我点击链接到上面文本的按钮以显示摘要文本时,我得到错误。如果需要,我可以提供更多信息。如果有人能提供帮助,我将不胜感激。

1 个答案:

答案 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吗?