Я прошел через приложение, используя сборку / анализ, и смог решить все проблемы.
, но работает под утечкой, он обнаруживает утечку и говорит, что это происходит из tvc: viewDidLoad, где tvc является tableViewController
он далее ссылается на NSArray -> sectionlist
показывает malloc refct = 1
тогда оставьте refct = 2
тогда refct релиза = 1
здесь viewDidLoad, за которым следуют dealloc и заголовок
Я не вижу, в чем проблема? Я что-то упустил?
кроме кода, который я включил, на sectionList ссылаются только в 2 других местах -
в числе разделов строк
return [[self sectionList] count];
в cellForRowAtIndexPath
[[cell textLabel] setText: [[self sectionList] objectAtIndex: indexPath.row]];
это красная сельдь? то есть; это реальная утечка или инструмент утечки способен только отображать alloc, но затем не показывает, где происходит освобождение в dealloc, когда tvc выгружается позже?
enter code here
/// code
////////////////////////
// property
@synthesize sectionList = ivSectionList;
/*
*********************************************
build list of sections
*********************************************
*/
- (void)viewDidLoad
{
[super viewDidLoad];
// alloc a local array and init with values
NSArray *sections = [[NSArray alloc] initWithObjects:@"A", @"B", @"C", nil];
// assign local array to tvc ivar
[self setSectionList:sections];
// release local array
[sections release], sections=nil;
}
/*
*********************************************
release ivSectionList
*********************************************
*/
- (void)dealloc
{
[ivsectionList release], ivsectionList=nil;
[super dealloc];
}
//////// header
////////////////////////////////////////
#import <UIKit/UIKit.h>
@interface tvc : UITableViewController
{
NSArray *ivsectionList;
}
@property (nonatomic, retain) NSArray *sectionList;
@end
////////////////////////////////////////