Lim Thye Chean Lim Thye Chean - 5 months ago 13
Swift Question

Does Swift init(count:, repeatedValue:) work?

Tested this from the reference: https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/SwiftStandardLibraryReference/index.html

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


I got this error:


Playground execution failed: error: :5:14: error: could not find an overload for 'init' that accepts the supplied arguments
var string = String(count: 5, repeatedValue: "a")


Does this actually work?

Answer

It seems that you have to explicitly pass in a Character type to it to function. This works for me.

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

Although, there may be bug mixed in with all this as well. I believe the way you were doing this should have worked on its own. And I can't seem to get code completion on this initializer at all.

Edit: I'm going with bug. The following compiles just fine.

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