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 " ;?

¿Fue útil?

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
scroll top