我正在尝试通过reduce函数加入String数组的元素。现在尝试了一下,但我无法确切地知道问题所在。我认为这应该可以解决问题。我也尝试了其他替代方法,但是鉴于数量巨大,我将等待一些输入:

var genres = ["towel", "42"]
var jointGenres : String = genres.reduce(0, combine: { $0 + "," + $1 })

错误:



据我了解,$ 0应该被推断为字符串,而$ 1与$ 0相结合,也应该被推断为String。我不知道这里的类型系统有什么问题。任何想法?

最佳答案

您的reduce关闭可能看起来像这样:

var jointGenres : String = genres.reduce("", combine: { $0 == "" ? $1 : $0 + "," + $1 })

它具有""而不是像以前一样的0,并确保返回值的开头没有多余的逗号。

原始代码不起作用,因为在尝试向其中添加字符串时,在documentation中表示为U的返回类型本来是0。在您的情况下,您确实希望U和T都表示字符串而不是Ints。

关于swift - 字符串数组减少,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25951739/

10-14 09:50