Я использую arc4random
, чтобы сгенерировать 10 случайных чисел, поэтому я могу запросить firebase для получения вопросов, содержащих произвольно сгенерированные числа. Проблема в том, что я не хочу, чтобы какое-то число появлялось более одного раза, поэтому не возникает повторяющихся вопросов. Текущий код ниже ...Использование arc4random для генерации десяти случайных чисел
import UIKit
import Firebase
class QuestionViewController: UIViewController {
var amountOfQuestions: UInt32 = 40
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
// Use a for loop to get 10 questions
for _ in 1...10{
// generate a random number between 1 and the amount of questions you have
let randomNumber = Int(arc4random_uniform(amountOfQuestions - 1)) + 1
print(randomNumber)
// The reference to your questions in firebase (this is an example from firebase itself)
let ref = Firebase(url: "https://test.firebaseio.com/questions")
// Order the questions on their value and get the one that has the random value
ref.queryOrderedByChild("value").queryEqualToValue(randomNumber)
.observeEventType(.ChildAdded, withBlock: {
snapshot in
// Do something with the question
print(snapshot.key)
})
}
}
@IBAction func truepressed(sender: AnyObject) {
}
@IBAction func falsePressed(sender: AnyObject) {
}
}
Вы не должны вычитать 1 из amountOfQuestions –
Вы можете случайно удалить каждый элемент из исходного массива, если вы не хотите, чтобы они происходят дважды –