在字符串中添加整数

时间:2021-07-22 19:17:31

标签: swift

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

每个解决方案都会被应用<3

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

2 个答案:

答案 0 :(得分:1)

您不能直接在属性声明中使用可执行代码,例如 "card" + String(a)...除非您使用 computed property

因此,您可以将 @State var playerCard = "card" + String(a) 替换为以下内容:

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

答案 1 :(得分:0)

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

在 Swift 中,除非编译器需要,否则在访问属性时不必使用 self。用 self

完整地写下您的声明
@State var a = Int.random(in: 1...10)
@State var playerCard = "card" + String(self.a)

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