2015-07-21 10 views
14

Potrzebuję przekształcić ciąg znaków w tablicę znaków. Ta praca w Swift 1.2 i niższe, ale nie od Swift 2,0Konwertuj ciąg na tablicę znaków swift 2.0

var myString = "Hello" 
Array(myString) // ["H", "e", "l", "l", "o"] 
+0

Zobacz http://stackoverflow.com/questions/25921204/convert-swift-string-to-array, który został zaktualizowany dla Swift 2. –

Odpowiedz

30
var myString = "Hello" 
let characters = [Character](myString.characters) // ["H","e","l","l","o"] 

nadzieję, że to pomaga

+0

dlaczego nie znalazłem tego kilka dni temu. znacznie bardziej eleganckie! –

+0

ładny. Równie dobrze może uczynić go komputerowej var: 'rozszerzeń String {var charValues ​​ [postaci] {get { straż self.isEmpty else { zwrot [postaci] (self.characters) } zwrot [] } } } ' – murphguy

9

Musisz użyć własność Stringcharacters ponieważ nie jest już SequenceType:

var myString = "Hello" 
let charactersArray = Array(myString.characters) 
10

Po pierwsze, należy użyć właściwości characters o String struct:

let str = "Hello World" 
var charView = str.characters 

Otrzymujesz instancję CharacterView. Aby uzyskać dostęp do elementu charView, musisz użyć String.CharacterView.Index. Jeśli chcesz przekonwertować to do tablicy String, to zrobić:

let str = "Hello World" 
var arr = str.characters.map { String($0) } 

Teraz masz tablicę typu [String]:

arr[0] // => "H" 
+0

znakomita odpowiedź {String ($ 0)} działa dobrze dla mnie –

Powiązane problemy