从参考文献中测试过:https://developer.apple.com/documentation/swift
var string = String(count: 5, repeatedValue: "a")
// string is "aaaaa"
我收到了这个错误:
Playground执行失败:错误:: 5:14:错误:无法找到接受提供的参数的'init'的重载var string = String(count:5,repeatedValue:“a”)
这实际上有用吗?
6 回答
Swift 3:
输出:[0,0,0,0,0]
看来你必须明确传入一个Character类型才能运行 . 这对我有用 .
虽然,所有这些都可能有混杂的错误 . 我相信你这样做的方式应该是独立的 . 而且我似乎无法在此初始化程序上完成代码完成 .
编辑:我要跟bug一起去 . 以下编译就好了 .
为了未来的搜索者的利益:从Swift 3开始,使用
init(repeating:count:)
.这很好用:
对于swift 3.x中的任何人来说,现在这样的东西就像魅力一样 .
我知道这是一个老问题,已经有了答案 . 但是我想我知道 why
String(count: 5, repeatedValue: "a")
不起作用 .事情是
String
有两个相似的看initialisers:因此,在这种情况下,编译器无法判断文字是
Character
还是UnicodeScalar
,因此如果不传递显式Character
则编译时错误 . 要确认"a"
可以解释为UnicodeScalar
,您可以检查此行是否编译: