/ / Stwórz słownik [NS] z pojedynczego ciągu w Swift - string, słownik, swift, casting, nsdictionary

Stwórz słownik [NS] z pojedynczego ciągu w Swift - string, słownik, swift, casting, nsdictionary

Mam ciąg var dictAsString:String = "["foo" : 123, "bar" : 456]" że chcę przekonwertować na Dictionary (lub NSDictionary, Nie jestem konkretny.) Próbowałem

var dictAsObj:AnyObject = dictAsString as AnyObject
var dictAsDict:NSDictionary = dictAsObj as NSDictionary

ale to nie działa. Próbowałem też

var dictAsDict:NSDictionary = NSDictionary(objectsAndKeys: dictAsString)

i

var dictAsObj:AnyObject = dictAsString as AnyObject
var dictAsDict:NSDictionary = NSDictionary(objectsAndKeys: dictAsObj)

Nic nie działa, i nie mogę znaleźć żadnej pomocy w dokumentacji. Jakieś pomysły?

Odpowiedzi:

0 dla odpowiedzi № 1

Ten ciąg przypomina obiekt JSON.

Można zamienić nawiasy kwadratowe na nawiasy klamrowe i użyć NSJSONSerialization klasa, aby uzyskać z niej słownik.

W najgorszym przypadku powinieneś napisać mały parser.

Proponuję użyć Ragel.

Oba zadania są jednak przesadą dla takiego łańcucha.