Unterschied zwischen String und StaticString

Ich war das surfen im docs, und ich fand StaticString. Es besagt:

Eine einfache Zeichenfolge, die die Darstellung von text, die "erkennbar zur compile-Zeit".

Ich ursprünglich dachte, dass String hat das gleiche Verhalten wie NSString, die zur Kompilierzeit bekannt ist, aber es sieht so aus, dass ich falsch lag. Also meine Frage ist Wann sollen wir verwenden StaticString statt einer String, und der einzige Unterschied ist, dass StaticString bekannt ist zur compile-Zeit?

Eine Sache, die ich fand, ist

var a: String = "asdf" //"asdf"
var b: StaticString = "adsf" //{(Opaque Value), (Opaque Value), (Opaque Value)}

sizeofValue(a)  //24
sizeofValue(b)  //17

So wie es aussieht StaticString hat ein bisschen weniger Speicherbedarf.

InformationsquelleAutor Dániel Nagy | 2015-08-27
Schreibe einen Kommentar