Frage

Ich verstehe, dass konstante CStrings statisch zugewiesen werden, anstatt auf dem Heap.

Ich habe auch bemerkt, dass eine konstante NSStrings haben eine Zählung behalten unendlich. Ist es wahr halten, dass eine konstante NSStrings auch statisch zugewiesen werden, anstatt auf dem Heap?

War es hilfreich?

Lösung

Konstante NSStrings ist die Klasse NSConstantString und so wie Atome in Lisp handeln; sie hängen herum. -..> NSConstantStrings statisch zugewiesen Das heißt, wenn Sie @"cow" in zwei getrennten Stellen im Code verwenden, werden sie das gleiche Objekt werden Referenzierung

Der Grund, warum NSConstantStrings hat sogar einen Beibehaltungszähler ist, weil sie von NSObject erben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top