在字符串中添加Int数



我想在变量中添加随机Int数。我尝试了var playerCard = "card" + String(a)var playerCard = "card(a)",但得到了相同的错误。顺便说一句,我只是一个学习基础知识的初学者。

每个解决方案都将被关联<3

@State var a = Int.random(in: 1...10)
@State var playerCard = "card" + String(a)

不能在属性声明中直接包含可执行代码,如"card" + String(a)。。。除非使用计算属性。

所以,你可以用这样的东西来代替@State var playerCard = "card" + String(a)

var playerCard: String { /// this is a computed property!
"card" + String(a)
}

要添加为什么需要计算属性的一些解释:

在Swift中,除非编译器需要,否则在访问属性时不必使用self。使用self完整地写出声明

@State var a = Int.random(in: 1...10)
@State var playerCard = "card" + String(self.a)

问题是self.a中的self还不存在。在初始化所有对象属性之前,您无法访问self,由于playerCard是一个属性,因此无法初始化,因此无法对对象进行初始化。

最新更新