执行 segue 时的 EXC_BAD_ACCESS(code 1, address=0x1)

Posted

技术标签:

【中文标题】执行 segue 时的 EXC_BAD_ACCESS(code 1, address=0x1)【英文标题】:EXC_BAD_ACCESS(code 1, address=0x1) when preforming segue 【发布时间】:2015-10-18 23:49:34 【问题描述】:

当使用 performSegueWithIdetifier 执行手动 segue 时,它​​会抛出 EXC_BAD_ACCESS(code 1, address=0x1)。我的游戏中有 3 个 ViewController(仅使用 UiKit,不使用 SpriteKit),比如说 VC1、VC2 和 VC3。我能够成功地从 VC1 转到 VC2 控制器。 VC2 拥有我游戏的大部分代码和 UIObjects。问题是我无法从 VC2 到 VC3。它总是抛出 EXC_BAD_ACCESS(code 1, address=0x1)。我在这个程序上花了很多时间,但不知道为什么会这样。

【问题讨论】:

错误输出说明了什么?我的猜测是访问从未连接到 VC3 的插座时出错。 抛出错误的代码是:performSegueWithIdentifier("toEndScreen", sender: nil ),这是错误的图像imgur.com/mdcfwqw@NRitH 【参考方案1】:

我有同样的问题。原来,我错过了一些代码。这为我解决了这个问题:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) 

    if (segue.identifier == "tableToRec") 
        let DestViewContoller : RecorderViewController = segue.destinationViewController as! RecorderViewController
        if savedURL != nil 
            DestViewContoller.savedURL = savedURL!
        
    

    if (segue.identifier == "tableToPreset") 
        let DestViewContoller : PresetViewController = segue.destinationViewController as! PresetViewController
        if savedURL != nil 
            DestViewContoller.savedURL = savedURL!
        
    


【讨论】:

以上是关于执行 segue 时的 EXC_BAD_ACCESS(code 1, address=0x1)的主要内容,如果未能解决你的问题,请参考以下文章

iOS8 UITableView 和 Cell - 自动布局高度 - 触摸和执行 segue 时的移位/垂直偏移错误

segueing 时的核心数据错误:无法在 NSManagedObject 类上调用指定的初始化程序

WatchKit 定时器结束时的函数

使用多个 Segue |如何使用 Cell 数据来执行特定的 Segue

如何创建 Segue 的动画执行和展开 Segue?

为啥程序在登录时不执行segue?