У меня есть функция, которая мигает кнопкой. Функция находится внутри for i loop
, которая находится в функции viewDidLoad
. У меня также есть NSTimer
, который вызывает функцию, периодически повторяющую разные кнопки. Однако, когда я запускаю это, я получаю SIGABRT error
. Если вы спросите, я убедился, что соединения с моими кнопками прочные, не отключены.Ошибка SIGABRT при использовании NSTimer, Swift 2 Xcode 7
var computerChoices = [Int](count: 11, repeatedValue: 0)
var randomIndex = 0
var pcChoice = 0
var lit = [b0o,b1o,b2o,b3o,b4o,b5o,b6o,b7o,b8o]
var litIndex = 0
override func viewDidLoad() {
super.viewDidLoad()
for i in 1...10{
print(randomIndex)
print(computerChoices)
var buttonChoice = lit[randomIndex]
randomIndex = Int(arc4random_uniform(UInt32(lit.count)))
computerChoices[i] = randomIndex
print("yoyoyo")
func flashingButtons(){
var one = computerChoices[pcChoice]
lit[one].setImage(UIImage(named: "redb.png"), forState: UIControlState.Normal)
pcChoice += 1
}
timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: Selector("flashingButtons"), userInfo: nil, repeats: true)
}
}
В какой строке вы получаете ошибку, возможно в 'computerChoices [i] = randomIndex'? Скорее всего, вы пытаетесь получить доступ к индексу типа коллекции, где соответствующий член не существует. («индекс за пределами границ») – dfri
Как я могу сказать таймеру остановиться в определенное время? –
Является ли этот код в рамках контроллера вида? (Просто убедившись) – dfri