Objective-C NSString Frage
-
03-07-2019 - |
Frage
Ich brauche eine NSString aus einer Funktion zurückgeben:
NSString myfunc ( int x )
{
// do something with x
NSString* myString = [NSString string];
myString = @"MYDATA";
// NSLog(myString);
return *myString;
}
Also, ich diese Funktion aufrufen und * myString erhalten. Ist das ein Zeiger auf die Daten? Wie kann ich auf die Daten „MYDATA“ erhalten?
Lösung
Ich würde diese Funktion die folgende Art und Weise neu zu schreiben:
NSString* myfunc( int x )
{
NSString *myString = @"MYDATA";
// do something with myString
return myString;
}
In Objective-C ist es üblicher, mit Zeigern auf Objekte zu arbeiten, nicht Objekte selbst, das heißt, in Ihrem Beispiel mit NSString*
, nicht NSString
.
Darüber hinaus ist @"MYDATA"
bereits eine Zeichenfolge, so müssen Sie myString vor der Zuweisung nicht zuzuteilen und initialisieren.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow