gpt4 book ai didi

ios - 错误 : index beyond bounds

转载 作者:行者123 更新时间:2023-11-28 11:08:03 25 4
gpt4 key购买 nike

我一直收到索引超出范围的错误。

我一直在处理 ZLSwipeableView Swift 版本。

代码

 import UIKit

class SwipeableViewController: UIViewController {

var swipeAbleView : ZLSwipeableView!

override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
swipeAbleView.nextView = {
return self.nextCardView()
}
}

// This is the colors array
var colors : NSArray = NSArray(array: [UIColor.orangeColor() , UIColor.blueColor() , UIColor.greenColor() , UIColor.blackColor() , UIColor.brownColor() , UIColor.magentaColor()])

var v : UIView!

var cardsCount = 6
var cardsIndex = 0

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.

view.backgroundColor = UIColor.whiteColor()
view.clipsToBounds = true

swipeAbleView = ZLSwipeableView()
swipeAbleView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)
self.swipeAbleView.alpha = 0.0

UIView.animateWithDuration (0.25, delay: 0.35, options: UIViewAnimationOptions.CurveLinear ,animations: {
self.swipeAbleView.alpha = 1.0
}, completion:nil)
self.view.addSubview(swipeAbleView)


self.swipeAbleView.discardViews()
self.swipeAbleView.loadViews()
}

func nextCardView() -> UIView {

if cardsIndex < cardsCount {

cardsIndex += 1
}

let cardView = CardView(frame: self.swipeAbleView.bounds)
// The error occurs here and the app crashes
cardView.backgroundColor = colors[cardsIndex] as? UIColor

return cardView

}
}

当我为 cardView 定义颜色时发生错误。

应用程序崩溃我收到错误。

最佳答案

if cardsIndex < cardsCount {
cardsIndex += 1
}

这个条件不会阻止你越界,正确的条件是:

if cardsIndex + 1 < cardsCount {
cardsIndex += 1
}

虽然我认为从 viewDidLayoutSubviews 更改数据很奇怪。

关于ios - 错误 : index beyond bounds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36651694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com