【问题标题】:Thread 1: EXC_BAD_ACCESS (code=2, address=0x7fff59d8dff8)线程 1:EXC_BAD_ACCESS(代码=2,地址=0x7fff59d8dff8)
【发布时间】:2015-10-07 08:24:27
【问题描述】:

我正在尝试做的事情:

以下代码用于页面上的 2 个按钮。此页面是页面数组的一部分(存储在 self.parent 中;它还将其在该数组中的索引存储在 self.index 中)。 这 2 个按钮用于在这组页面中向前和向后导航。如果它试图前进但到达数组的末尾,它应该回到第一页;同样返回并击中数组的开头。

@IBAction func previousButton(sender: AnyObject) {

    self.prev()
}

@IBAction func nextButton(sender: AnyObject) {

    self.next()
}

func next(){

    if let _parent = self.parent{

        if self.index != _parent.getSize()-1 {

            self.view.addSubview(_parent[self.index+1].view)
        }
        else{

            self.view.addSubview(_parent[0].view)
        }
    }
    else{
        println("This Page is not part of a List")
    }
}

func prev(){

    if let _parent = self.parent{

        if self.index != 0 {

            self.view.addSubview(_parent[self.index-1].view)
        }
        else{
            self.view.addSubview(_parent[_parent.getSize()-1].view)
        }
    }
    else{
        println("This Page is not part of a List")
    }
}

问题是:

编辑: 崩溃与 if 语句无关,也不是随机的;当我第十次点击下一个按钮时它崩溃了,第十次点击上一个按钮(十是我列表中的页面数;如果我添加更多页面,这个数字会相应改变),当我按下一个后按上一个或按下一个后按下一个。

我发现了问题:我没有在页面之间正确切换,我只是在其他页面之上添加一个;当我尝试显示一个已经加载的页面(并且仍然位于页面堆栈下方的某个位置)时,会发生崩溃。

现在我需要找到一种更好的方式在它们之间切换。

【问题讨论】:

  • 请显示错误堆栈。
  • 这就是它给我的所有信息,同时以绿色突出显示有问题的行:Thread 1: EXC_BAD_ACCESS (code=2, address=0x7fff59d8dff8) 控制台是空的。
  • 错误发生在哪一行?
  • 我已经在 cmets 中指定了它给我错误的行。代码构建良好并运行;它只在某些情况下崩溃(正如我上面所说的)
  • 尝试将index变量存入每个方法中的局部变量中,并在结束前更新。

标签: ios arrays xcode swift


【解决方案1】:

确保StoryBoardViewController 中的类名相同

【讨论】:

    猜你喜欢
    • 2019-01-04
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2018-03-13
    • 2013-10-11
    相关资源
    最近更新 更多