class ViewController: UIViewController {
let fortuneArray = ["You will find true love in the summer.", "Outlook not good", "You may find great success in business soon.", "Watch out for grey cats."]
let randomIndex = Int(arc4random_uniform(fortuneArray.count))
override func viewDidLoad() {
super.viewDidLoad()
let randomIndex = Int(arc4random_uniform(UInt32(fortuneArray.count)))
print("random index: ")
print(randomIndex)
// Do any additional setup after loading the view, typically from a nib.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
// actions
@IBAction func cookiePressed(sender: AnyObject) {
fortune.text = fortuneArray[randomIndex]
}
我在Swift中创建了一个非常简单的算命应用程序,并且我一直遇到arc4random_uniform
的问题。目前我只是试图让应用程序随机绘制一个字符串但我收到一个错误说:
实例成员&fortuneArray'不能在类型' ViewController'
上使用
在我声明变量randomIndex
的行上。我已经使用谷歌一段时间了,但没有找到解决办法。希望有人可以提供帮助,谢谢!
*更新* 问题解决了!感谢。
答案 0 :(得分:16)
如果您粘贴的代码未在viewDidLoad
之类的方法中定义,则不能将类级别定义的变量用于在类级别定义的另一个变量。这些变量是在运行时确定的,并且它们的确定顺序是未知的,因此在制作randomIndex之前可能不存在fortuneArray(在幕后可能不会像这样工作,但你至少可以这样思考)
您应该在viewDidLoad
或init
或其他一些功能
答案 1 :(得分:0)