我通常是Swift和程序设计的初学者,所以我需要一点帮助!值一旦被调用,我该如何使它不再被调用?

这是我调用随机值的函数。

func randomFact() -> String {
    var unsignedArrayCount = UInt32(factsArray.count)
    var unsignedRandomNumber = arc4random_uniform(unsignedArrayCount)
    var randomNumber = Int(unsignedRandomNumber)

    return factsArray[randomNumber]
}

这是我的viewDidLoad.swift
class ViewController: UIViewController {

    @IBOutlet weak var funFactLabel: UILabel!

    let factBook = FactBook()

    override func viewDidLoad() {
        super.viewDidLoad()
        funFactLabel.text = factBook.randomFact()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    @IBAction func showFunFact() {
        funFactLabel.text = factBook.randomFact()
    }
}

最佳答案

如果要从数组中删除它,可以使用Array.removeAtIndex(index: Int) -> Element
它删除索引并同时返回它。

因此,只需替换:

return factsArray[randomNumber]

带有:
return factsArray.removeAtIndex(randomNumber)

关于ios - 仅从数组调用一次值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28929447/

10-09 01:02