2013-11-02 2 views
3

Почему NSString не может быть перенастроен по значению? Почему, когда мы возвращаем объект типа NSString, нам не нужно использовать символ указателя? Хотя в декларации возвращенной символа типа функции над указателем требуется:Почему тип NSString не может быть возвращен значением?

NSString* boolString (BOOL yesNO) 
{ 
    if (yesNO==NO) { 
     return (@"NO"); 
    } else { 
     return (@"YES"); 
    } 
} 

ответ

5

NSString, как и любой другой экземпляр класса какао, всегда передаются по указателю. Вот почему символ @ определяет статически выделенный объект NSString и возвращает его указатель.

См. Этот вопрос по следующим причинам: Why do Objective-C objects have to be dynamically allocated?

Смежные вопросы