Ios 线程1:EXC\u坏访问(代码=2,地址=0x7fff59d8dff8)

Ios 线程1:EXC\u坏访问(代码=2,地址=0x7fff59d8dff8),ios,arrays,xcode,swift,Ios,Arrays,Xcode,Swift,我想做的是: 以下代码位用于页面上的两个按钮。此页面是页面数组的一部分(存储在self.parent中;它还将该数组中的索引存储在self.index中)。 这两个按钮用于在此页面阵列中向前和向后导航。如果它试图前进但到达数组的末尾,则应返回到第一页;同样,用于返回并命中数组的开头 @IBAction func previousButton(sender: AnyObject) { self.prev() } @IBAction func nextButton(sender: Any

我想做的是:

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

@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语句无关,也不是随机的;当我第十次按“下一步”按钮,第十次按“上一步”按钮时,它会崩溃。(十是我列表中的页数;如果我添加更多页面,这个数字会相应地改变),当我在按下下一步后按“上一步”或在按下下一步后按“下一步”时,它会崩溃

我解决了问题:我没有正确地在页面之间切换,我只是在其他页面之上添加了一个页面;当我试图显示一个已经加载的页面(仍然在页面堆栈的下面)时,就会发生崩溃


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

请显示错误堆栈。这就是它在以绿色突出显示有问题的行时给我的全部信息:线程1:EXC\u BAD\u访问(代码=2,地址=0x7fff59d8dff8)控制台是空的。错误发生在哪一行?我已经在注释中指定了产生错误的行。代码构建良好并运行良好;它只在某些情况下崩溃(如我上面所说),尝试在每个方法中将
索引
变量存储到局部变量中,并在结束前更新它。请显示错误堆栈。这就是它在以绿色突出显示有问题的行时给我的全部信息:线程1:EXC_BAD_访问(代码=2,地址=0x7fff59d8dff8)控制台是空的。错误发生在哪一行?我已经在注释中指定了产生错误的行。代码构建良好并运行良好;它只在某些情况下崩溃(正如我上面所说的),尝试在每个方法中将
索引
变量存储到局部变量中,并在结束之前更新它。