我搜索过类似的问题,但似乎没有人回答我的问题。我正在制作单一视图应用。在ViewController类中:UIViewController部分我有以下代码:
var lastToAct = 0
var gameStarted = false
var tempPlayer = BasePlayer()
var positionNumber : Int = 0
var stringPosNum : String = String(positionNumber)
var stringFromInteger : String = "\(String(positionNumber))"
我得到的前五个变量没有错误,但第六和第七个变量我得到ViewController Type'没有名为'的成员最后2个变量的positionNumber。我不知道为什么会这样。
答案 0 :(得分:0)
var stringPosNum : String = String(positionNumber)
问题是这是一个存储的实例变量,其默认值取决于另一个实例变量的值。你不能这样做,因为在实例化时,当应用默认值时,有 no 其他实例变量,因为还没有实例 - 实例正是我们在中间的创造。
一种解决方案:将lazy
放在声明前面。另一种解决方案:如果此变量始终与另一个实例变量具有此关系,则将其设为计算变量而不是存储变量。