提问者:小点点

Swift init(count:,repeatedvalue:)起作用了吗?


在https://developer.apple.com/documentation/swift参考文件中对此进行了测试

var string = String(count: 5, repeatedValue: "a")
// string is "aaaaa"

我有一个错误:

Playground执行失败:错误::5:14:错误:找不到接受所提供参数var string=string(count:5,repeatedvalue:“a”)的“init”重载

这真的管用吗?


共3个答案

匿名用户

看来您必须显式地传入一个字符类型给它才能起作用。这对我管用。

let char = Character("a")
let string = String(count: 5, repeatedValue: char)

虽然,也可能会有bug混入其中。我相信你这样做应该是自作自受的。而且我似乎根本无法在这个初始化器上完成代码。

编辑:我要和虫子一起去。下面的编译很好。

let array = Array(count: 5, repeatedValue: "a")

匿名用户

为了方便将来的搜索者:从Swift 3开始,使用init(repeating:count:)

let sososo = String(repeating: "so", count: 3)

匿名用户

这样做很好:

var str9 = String(count: 5,repeatedValue: Character("c"))