Objective-C NSString Question
-
03-07-2019 - |
Pregunta
Necesito devolver una NSString desde una función:
NSString myfunc ( int x )
{
// do something with x
NSString* myString = [NSString string];
myString = @"MYDATA";
// NSLog(myString);
return *myString;
}
Entonces, llamo a esta función y obtengo * myString. ¿Es eso un puntero a los datos? ¿Cómo puedo acceder a los datos " MYDATA " ;?
Solución
Reescribiría esta función de la siguiente manera:
NSString* myfunc( int x )
{
NSString *myString = @"MYDATA";
// do something with myString
return myString;
}
En Objective-C es más común trabajar con punteros a objetos, no a objetos en sí mismos, es decir, en su ejemplo con NSString *
, no NSString
.
Además, @ " MYDATA "
ya es una cadena, por lo que no necesita asignar e inicializar myString antes de la asignación.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow