Objective-C NSString Вопрос - PullRequest
       20

Objective-C NSString Вопрос

4 голосов
/ 02 марта 2009

Мне нужно вернуть NSString из функции:

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

    return *myString;       
}

Итак, я вызываю эту функцию и получаю * myString. Это указатель на данные? Как я могу получить данные "MYDATA"?

1 Ответ

13 голосов
/ 02 марта 2009

Я бы переписал эту функцию следующим образом:

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

   // do something with myString
   return myString;        
}

В Objective-C более распространено работать с указателем на объекты, а не с самими объектами, т. Е. В вашем примере с NSString*, а не NSString.

Более того, @"MYDATA" уже является строкой, поэтому вам не нужно выделять и инициализировать myString перед присваиванием.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...