Я использую внешнюю библиотеку в своем приложении (в частности, https://github.com/jazzychad/CEPubnub) и сталкиваюсь с проблемой управления памятью. После инициализации объекта "CEPubnub" необходимо подписаться на канал для получения обновлений. В итоге я написал следующий код:
self.pubnub = [[[CEPubnub alloc]
publishKey:@"..."
subscribeKey:@"..."
secretKey:@"..."
sslOn:NO
origin:@"pubsub.pubnub.com"] autorelease];
//Set the channel for this holler
[self setPubnubChannel:[[[NSMutableString alloc] initWithString:@"channelprefix_"] autorelease]];
[pubnubChannel appendString:[event eventId]];
NSLog(@"Subscribing to the pubnubChannel: %@", (NSString *)[[pubnubChannel copy] autorelease]);
Всякий раз, когда я в конечном итоге запускаю это приложение и загружаю представление, в котором оно вызывается, закрываю представление, загружаю его снова, я в конечном итоге заканчиваю тем, что вызываю утечку памяти, и вторая строка кода там выделяется как источник проблема (через мой инструмент утечки).
Когда я запускаю Analyze, он также выделяет вторую строку кода, но говорит о «потенциальной утечке объекта, размещенного в [строка 1]», как будто проблема в первой строке. В моих методах viewDidUnload и методе dealloc я освобождаю свойство pubnub, но оно все еще кажется утечкой, и я ошеломлен. Любые идеи о том, что я должен делать?