错误:“在声明”iOS Swift之前,无法捕获'displayRandomWordFromArray'

时间:2014-10-09 05:15:02

标签: ios swift

我的错误是它无法捕获&display C.andandWordFromArray'在宣布之前#34;我不知道这意味着什么,我从老师那里得到了这个。我不知道他是指UILabel还是按钮。这是代码。

let types = ["Alex", "Straub", "Rusher", "Graser"]

var usedStringIndexs:[Int] = []

func someButtonPressed (button: UIButton) {

    let string = types[displayRandomWordFromArray()]

}

func displayRandomWordFromArray () -> Int {

    var randomNumber = Int(arc4random_uniform(UInt32(types.count)))

    while contains(usedStringIndexs, randomNumber) {

        randomNumber = Int(arc4random_uniform(UInt32(types.count)))

    }

    usedStringIndexs.append(randomNumber)

    return randomNumber

}

感谢您的努力,如果有任何问题,请在问题上发表评论。

此代码的目标是随机遍历数组而不重复名称

1 个答案:

答案 0 :(得分:0)

这很有效。我为按钮创建了一个IBAction。我在控制台上打印了“string”。现在你的方法工作方式,它随机选择一个名称,然后按下4个按钮并停止工作。

import UIKit

class ViewController: UIViewController {


    let types = ["Alex", "Straub", "Rusher", "Graser"]

    var usedStringIndexs:[Int] = []

    @IBAction func buttonPressed(sender: AnyObject) {

        let string = types[displayRandomWordFromArray()]
        println(string)

    }

    func displayRandomWordFromArray () -> Int {

        var randomNumber = Int(arc4random_uniform(UInt32(types.count)))

        while contains(usedStringIndexs, randomNumber) {

            randomNumber = Int(arc4random_uniform(UInt32(types.count)))

        }

        usedStringIndexs.append(randomNumber)

        return randomNumber
    }
    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

这个更简单的代码每次都会打印一个随机名称:

import UIKit

class ViewController: UIViewController {


    let types = ["Alex", "Straub", "Rusher", "Graser"]

    var usedStringIndexs:[Int] = []

    @IBAction func buttonPressed(sender: AnyObject) {
        var randomNumber = Int(arc4random_uniform(UInt32(types.count)))
        let string = types[randomNumber]
        println(string)
    }
}