Задать вопрос
@pinapple

Сможете помочь с работой с памятью и ARC?

Дан файл класса вместе с расширением:

Interface Something : NSObject
@property (assign) NSInteger thing1;
@property(readonly, assign) NSInteger thing2;
- (void)resetAllValues; // Не знаю, что это делает, видимо, просто так написано


Interface Something ()
{
NSInteger thing4;
}
@property (readwrite, assign) NSInteger thing 2; // просто изменение свойства переменной вверху
@property (assign) NSInteger thing 3;
Так вот, в книге, из которой взят код, написано, что поскольку мы используем ARC, то уменьшать счетчик ссылок самим не надо, т.к. за нас это сделает ARC. Но почему он за нас это сделает? Разве объекты типа NSInteger автоматически помещаются в autorelease? Или автор хотел сказать, что когда эти объекты будут помещены в @autoreleasepool { ... } в main файл, их счетчик ссылок автоматически уменьшится в конце? (и уменьшается ли счетчик ссылок у ВСЕХ объектов, которые заключены в @autoreleasepool { ... } ? )
  • Вопрос задан
  • 529 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
ManWithBear
@ManWithBear
Swift Adept, Prague
Мне не хотелось бы вас разочаровывать, но NSInteger - это лишь typedef поверх long int/int. Соответственно это вообще не объект и ссылок у него не может быть.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы