String swift/parse:递增字符串

String swift/parse:递增字符串,string,swift,parse-platform,String,Swift,Parse Platform,问题的快速部分: 所以我所说的递增字符串的意思是,假设我们从var string=“title”开始,我希望能够将数字递增到末尾,比如“title1”、“title2”、“title3…”。我应该使用for循环来执行此操作吗?如果是,怎么做?还是另一种方法 for var i = 1; i < 6; i = i + 1 { //increment the strings here } Swift中的循环类似,然后您可以使用以获得如下所示的正确字符串: for i

问题的快速部分:

所以我所说的递增字符串的意思是,假设我们从
var string=“title”
开始,我希望能够将数字递增到末尾,比如
“title1”、“title2”、“title3…”
。我应该使用for循环来执行此操作吗?如果是,怎么做?还是另一种方法

for var i = 1; i < 6; i = i + 1 {
        //increment the strings here
    }
Swift中的循环类似,然后您可以使用以获得如下所示的正确字符串:

for i in 1...5 {
    let title = "title\(i)"
    print(title)
}


也请阅读。

Swift中有几种循环方式,但您应该记住,从Swift 3开始

这将不再是其中之一

for var i = 0; i <6; i++ {
    let string = "title\(i+1)"
}
但是,也欢迎您使用Swifts高阶函数来循环:

   (1...5).forEach { i in
        let title = "title \(i)"
    }


尝试一些东西并添加到问题中。
对于var i=0;i<6;i++{let stringT=“title\(i+1)”print(stringT)}
您可以尝试类似的方法来获得标题名:)奇怪为什么“高阶函数”是更好的解决方案?还有为什么
$0
i
更清楚?@zaph好吧,实际上我并没有说它“更好”,相反的说法可以肯定。然而,我确实想提供另一个合理的选择。高阶函数的一个小好处是,它们允许我们编写更简洁的代码。最后,我不认为我暗示$0比我更清楚。。。这只是一种用更简洁的方式编写循环的方法。“更简洁的代码”是一件好事吗?这对下一个开发人员来说更容易理解,还是会让他们花点时间来理解正在发生的事情?毕竟,我们正在为下一位开发人员编写代码。@zaph如果您的代码能够简洁易读,那么是的,这是一件好事,毫无疑问。阅读我提供的第一个forEach块没有什么挑战性,我从来没有说过有人“应该”使用这两个块中的任何一个,我只是提供了它们作为选项。当我在回答中说“Swift首选的一般循环方式是”for in循环时,我非常清楚。此外,如果你不喜欢高阶函数,我当然不是争论的对象,Chris Lattner和Swift团队似乎非常开放地讨论了他们在Swift库中放了什么。当“高阶函数”提供了更好的实现时,我对它们没有问题。很多时候,他们习惯于“聪明”。至于Chris,他似乎忽略了一点,那就是我们应该编写程序,让下一个人类开发人员明白,而不是编译器,也不是为了减少类型,我们有IDE来帮助后者。当然,变量名
i
是对Fortran的回溯,但我认为
$0
没有更好的效果。在“C”和早期的unix中可以看到更容易的键入:
create()
(其中是“e”),但后来我们在电传打字机上键入。
for i in 1...5 {
    let title = "title\(i)"
}
   (1...5).forEach { i in
        let title = "title \(i)"
    }
(1...5).forEach { let title = "title \($0)" }