我有一個UITableViewController,我在viewDidLoadMethod
設置一些屬性,像這樣:UITableView泄漏?
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self.parentViewController.parentViewController action:@selector(dismissSettings)] autorelease];
[self setTitle:@"Gabbai Settings"];
//Set up the table
[self.tableView initWithFrame:self.tableView.frame style:UITableViewStyleGrouped];
[self.tableView setRowHeight:65.0];
[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLineEtched];
[self.tableView.backgroundView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"%@_settings", kTheme] ofType:@"png"]]]];
}
這個應用程序顯示了UIScrollViewController和一個UIButton。當按下按鈕時,應用程序將顯示一個模式UINavigationController,並且該UINavigationController包含一個UITableViewController。
由於某些原因,當我顯示UITableViewController時,泄漏會報告一些泄漏。但是,如果我在//Set up the table
之後註釋掉這四行,一切都很好。
當四行是註釋掉,泄漏儀器顯示以下內容:
我不知道這到底是怎麼回事,但它真的很煩人。我之前使用過相同的四行代碼來自定義我的UITableViewController,這是一種新行爲。
什麼可能是錯的?
我不使用數組,我設置手動裏面`cellForRowAtIndex`方法的一切。 – Moshe 2010-11-30 19:08:18
那麼,什麼泄漏是一個數組/字典的地方,根據你的泄漏圖像。 – WrightsCS 2010-11-30 19:57:43
當我重新初始化UITableView時,它泄漏了舊的內容,因此NSArray泄漏。 – Moshe 2010-12-01 20:43:15