Pergunta

Eu preciso retornar um NSString de uma função:

NSString myfunc ( int x )
{
    // do something with x  
    NSString* myString = [NSString string];
    myString = @"MYDATA";   
    // NSLog(myString);

    return *myString;       
}

Então, eu chamar essa função e obter myString *. É que um ponteiro para os dados? Como posso chegar ao "MYDATA" dados?

Foi útil?

Solução

eu iria reescrever essa função da seguinte maneira:

NSString* myfunc( int x )
{
   NSString *myString = @"MYDATA";

   // do something with myString
   return myString;        
}

Em Objective-C é mais comum para trabalhar com ponteiro para objetos, e não os próprios objetos, ou seja, no seu exemplo com NSString*, não NSString.

Além disso, @"MYDATA" já é uma string, assim você não precisa alocar e myString initialize antes da atribuição.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top