2015-12-04 3 views
2

Моя функция следующая ниже Я пытаюсь отключить текст, когда массив достигает своего предела. Я получаю ошибку массива вне диапазона. Какое состояние я могу использовать, чтобы массив был отключен, когда array1.count равен swipeCount. Это мой код:enable disable swipe gesture swift

let array1 = ["a","b","c","d"] 

func getRandom1() { 
    for var i = 0; i < array1.count ; i++ 
    { 
     array1.shuffle1() 
    } 

} 

func getText1() { 

    self.display.text = "\(array1[i++])" 
    swipeCount++ 
} 

func getTextBack() { 


    self.display.text = "\(array1[i])" 

} 


func handleSwipes(sender:UISwipeGestureRecognizer) { 

if (sender.direction == .Right) 
{ 

    if swipeCount != array1.count 
    { 
     getText1() 
    } 


    else 

    { 
     getTextBack() 
    } 

    } 


    } 
+1

Что 'array1'? – JAL

+0

array1 содержит все тексты вроде let array1 = ["a", "b", "c", "d"] –

+0

@SabhaySardana: Я не вижу никакого кода, который мог бы вызвать «массив вне диапазона» здесь. Пожалуйста, покажите нам, как определяются 'getText1()' и 'notText()'. –

ответ

0

Изменить эту строку:

if swipeCount != array1.count 

в

if swipeCount < array1.count - 1 

Я думаю, что вы не можете использовать я в getText1 и getTextBack. Вместо того чтобы использовать I, вы должны использовать swipeCount так:

func getText1() { 
    self.display.text = "\(array1[swipeCount++])" 
} 

func getTextBack() { 
    self.display.text = "\(array1[swipeCount])" 
} 
+0

Я пробовал это раньше, я только что обновил свой код. вы можете видеть это в моих праведниках :) –

1
func handleSwipes(sender:UISwipeGestureRecognizer) { 

if (sender.direction == .Right) { 
    let aCount = array1.count - 1 

    if swipeCount < aCount 
{ 
    getText1() 
} 


else 

{ 
    getTextBack() 
} 

}