Reputation: 181
I need to convert a string into an array of characters. This work in Swift 1.2 and lower but doesn't since Swift 2.0
var myString = "Hello"
Array(myString) // ["H", "e", "l", "l", "o"]
Upvotes: 16
Views: 18282
Reputation: 111
First, use the characters
property of String
struct :
let str = "Hello World"
var charView = str.characters
You get an CharacterView
instance. To access to an element of charView
, you have to use String.CharacterView.Index
. If you want to convert this to an array of String
, do this :
let str = "Hello World"
var arr = str.characters.map { String($0) }
Now, you have an array of type [String]
:
arr[0] // => "H"
Upvotes: 11
Reputation: 13243
You have to use the characters
property of String
since it is no longer a SequenceType
:
var myString = "Hello"
let charactersArray = Array(myString.characters)
Upvotes: 9
Reputation: 6726
var myString = "Hello"
let characters = [Character](myString.characters) // ["H","e","l","l","o"]
Hope this helps
Upvotes: 32