почему retainCount увеличился? - PullRequest
1 голос
/ 09 февраля 2012
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    _testObject = [[TestObject alloc] init];

    NSLog(@"_testObject rc = %d", _testObject.retainCount);
    NSLog(@"testObject rc = %d", self.testObject.retainCount);
}

И testObject равен

@property (retain) TestObject *testObject;

Почему вывод этих NSLog() 1 и 2 соответственно?retainCount свойства и базовый объект отличаются?

1 Ответ

6 голосов
/ 09 февраля 2012

Я предполагаю, что это потому, что ваше свойство не определено как nonatomic, поэтому вы получаете сохраненный / автоматически выпущенный объект. Попробуйте изменить объявление вашей собственности на это:

@property (retain, nonatomic) TestObject *testObject;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...