NSString *myString = @"sample string";
NSString *newString = [myString copy];
Если я установил точку останова после того, как эти две строки, указатель для myString совпадает с указателем для newString.
WTF? Разве копия NSString не предположена возвратить указатель на новый объект? Или я пропускаю что-то фундаментальное о том, как копия, как предполагается, работает?
Поскольку NSString
не изменяемый , он может просто внутренне увеличить счетчик ссылок
и быть с этим покончено.
Когда вы освобождаете
одну из этих NSStrings, она может просто уменьшить счетчик ссылок
- стандартное управление памятью.
Вы видите какие-нибудь проблемы с этим?