我有一个需要每秒更新的随机整数,但我的问题是无法在函数外定义random int,因为它是一个随机int,范围为0到屏幕大小
var randomX = UInt32(self.size.width)
我不能在函数之外使用self.size.width。起初我想也许它不会更新因为它1.在函数didMoveToView()和2.声明它使用“let”而不是“var”。如果我在我的函数中声明它每秒更新一次,则该变量不能在该函数之外使用,这是一个很大的问题。
答案 0 :(得分:1)
您可以将var
声明为类的实例变量(在方法之外),在方法中更新它,并在该类的实例中的任何其他位置使用它。
class RTest {
var randomX: UInt32
init() {
self.randomX = 2;
}
func rx5()->UInt32 {
return self.randomX * 5
}
}
答案 1 :(得分:0)
创建一个全局类变量,以便您可以在类
中的任何位置访问它class MyClass: UIViewController {
var screenWidth: CGFloat = 0.0; //Global variable for this class
func getRand() -> UInt32 {
//generate your random number
return UInt32(self.screenWidth)
}
func useRandom() {
//call getRand anytime you want to generatea a new random num
var myRandNum = getRand()
}
func override viewWillAppear(animated: Bool) {
self.screenWidth = self.view.frame.size.width
}
}
代码未经过测试,但应该让您了解如何进行操作。 希望有所帮助。