как заполнить массив после удаления элементов swift - PullRequest
0 голосов
/ 27 июня 2019

У меня есть массив, и я удаляю элементы, чтобы они не повторялись при вызове элементов из массива. Тем не менее, после вызова всех элементов я хочу заполнить массив после нажатия кнопки «ОК» в предупреждении. Я не могу понять, как это сделать. Есть идеи?

func select() {
    //random phrase
    if array.count > 0 {
        let Array = Int(arc4random_uniform(UInt32(array.count)))
        let randNum = array[Array]
        // random phrase when program starts
        self.phrase.text = (array[Array])
        //removing
        array.remove(at: Array)
        array.
    } else {
        let  alert = UIAlertController(title: "Completed", message: "Click below to reload datac", preferredStyle: .alert)
        alert.addAction(UIAlertAction(title: "ok", style: .default, handler: nil))
        present(alert, animated: true)
    }
}

1 Ответ

1 голос
/ 27 июня 2019

Общий код псевдо будет:

declare an array with items
invoke select() to choose a random item
    if array is empty 
        re-populate array after user prompt
        return
    end-if

    select random item and assign to phrase 
    remove item from array 
end select()

Так что-то с эффектом:

var items = ["a", "b", "c"]
var phrase: String?

func selectRandomItem() {
    if items.isEmpty {
        let  alert = UIAlertController(title: "Completed", message: "Click below to reload datac", preferredStyle: .alert)
        alert.addAction(UIAlertAction(title: "ok", style: .default, handler: { _ in
            // repopulate `items` array
            items = ["a", "b", "c"]
        }))
        present(alert, animated: true)
        return
    }

    let index = Int(arc4random_uniform(UInt32(items.count)))
    phrase = items[index]
    items.remove(at: index)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...