我正在学习Swift,并找到了一个精彩的教程,解释了如何创建纸牌游戏.重点是我们使用14张牌卡片,图像文件名为card0,card1 ......等.
因此,我们必须使用这些文件名创建字符串数组.老师用硬编码做的
var cardNamesArray:[String] = ["card1","card2","card3","card4","card5","card6","card7","card8","card9","card10","card11","card12","card13"]
Run Code Online (Sandbox Code Playgroud)
我想用for-in做.但是,当我尝试这样做时:
for i in 0...13 {
var cardNamesArray:String = [String(format: "card%i", i)]
}
Run Code Online (Sandbox Code Playgroud)
我在XCode上遇到错误......"预期声明".
你能否指出我错在哪里,或者是否还有其他方法可以做到.
这是解决方案.首先需要在for循环之前初始化一个空字符串数组.然后从1到13迭代,而不是0到13,因为它将包含0.然后将字符串附加到数组.您的字符串格式不正确,请注意在Swift中格式化它的方法.
var cardNamesArray = [String]()
for i in 1...13 {
cardNamesArray.append("card\(i)")
}
Run Code Online (Sandbox Code Playgroud)
使用map()可以这样写:
var cardNamesArray = (0...13).map{"card\($0)"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6574 次 |
| 最近记录: |