Frage

Mit dem folgenden Code:

[[NSData alloc]initWithContentsOfURL:[NSURL URLWithString:mapURL]]

gibt eine Instanz von NSConcreteData im Gegensatz zu NSData (was ich erwartet hatte!). Was bedeutet NSConcreteData darstellt, genau, und warum ist es statt einer Instanz von NSData zurückgegeben werden? Ferner kann, wenn diese Klasse definiert? XCode beschwert, dass es nicht definiert wird, aber ich weiß nicht, was ich in Ordnung enthalten soll, die Klasse zu erhalten.

Jede Hilfe willkommen!

War es hilfreich?

Lösung

Die Stiftung Framework verwendet Klasse Cluster in bestimmten Bereichen eine gemeinsame Schnittstelle zu verschiedenen Klassen zur Verfügung zu stellen. Das bedeutet, dass, wenn Sie eine NSData API verwenden, um ein NSData Objekt, die tatsächliche Klasse zu erstellen, die instanziert und zurückgegeben von NSData anders, aber kann und soll von Ihrem Code als NSData Objekt behandelt und bezeichnet werden.

Am Ende des Tages, ist die einfache Antwort:. Die Existenz von NSConcreteData ignorieren und es wie NSData behandelt

Weitere Informationen über die Klasse-Clustern finden Sie in der Klasse Abschnitt Cluster von Apples Cocoa Fundamentals Führer .

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