23

参照からこれをテストしました: 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")

これは実際に機能しますか?

4

6 に答える 6

26

Character 型を明示的に渡して機能させる必要があるようです。これは私にとってはうまくいきます。

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

ただし、これらすべてにバグが混在している可能性もあります。あなたがこれを行っていた方法は、それ自体で機能するはずだったと思います。そして、このイニシャライザでコード補完を取得できないようです。

編集:バグで行きます。以下は問題なくコンパイルされます。

let array = Array(count: 5, repeatedValue: "a")
于 2014-06-28T03:09:30.877 に答える
12

将来の検索者のために: Swift 3 以降、 を使用しますinit(repeating:count:)

let sososo = String(repeating: "so", count: 3)
于 2016-10-04T21:01:58.163 に答える