Swift init(count:,repeatedValue :)有效吗?

Lim*_*ean 20 string swift swift-playground

从参考资料中测试过:https://developer.apple.com/documentation/swift

var string = String(count: 5, repeatedValue: "a")
// string is "aaaaa"
Run Code Online (Sandbox Code Playgroud)

我收到了这个错误:

Playground执行失败:错误:: 5:14:错误:无法找到接受提供的参数的'init'的重载var string = String(count:5,repeatedValue:"a")

这实际上有用吗?

Mic*_*lum 26

看来你必须明确传入一个Character类型才能运行.这适合我.

let char = Character("a")
let string = String(count: 5, repeatedValue: char)
Run Code Online (Sandbox Code Playgroud)

虽然,所有这些也可能有混杂的错误.我相信你这样做的方式应该是独立的.而且我似乎无法在此初始化程序上完成代码完成.

编辑:我要跟bug一起去.以下编译就好了.

let array = Array(count: 5, repeatedValue: "a")
Run Code Online (Sandbox Code Playgroud)

  • 指南没有被破坏,类型推理引擎是.订阅是一个很好的例子,尽管有非常明确的类型,它仍然在它的脸上. (2认同)

phu*_*phu 8

为了未来的搜索者的利益:从Swift 3开始,使用init(repeating:count:).


小智 6

这很好用:

var str9 = String(count: 5,repeatedValue: Character("c"))
Run Code Online (Sandbox Code Playgroud)

  • 是的,但它基本上与上面的答案相同. (3认同)