Боюсь, что я дурак.
Я потратил около трех часов на отслеживание утечки памяти, которая разрушала мое здравомыслие, и, прокомментировав половину своего приложения, я пришел к следующему выводу.
Учитывая следующее в нужных местах.
NSString *blah;
@property (nonatomic, retain) NSString *blah;
@synthesize blah;
-(id)initWithBlah:(NSString*)b {
self.blah = b; //this leaks
blah = b; //this does not
}
Я не особо разбираюсь в objectice c, я понимаю, что вне класса, если бы я вызывал object.blah = b; Я бы прозрачно вызвал функцию установки, которая сохранит b. Внутри функции, которую я предполагаю, установив ее с помощью self.blah = b, я по какой-то причине дважды сохраняю?
Может ли кто-нибудь объяснить мне, почему это так, а если нет, что я делаю неправильно?
Ваше здоровье