簡體   English   中英

UITableView保留計數

[英]UITableView retain count

在ViewWillAppear內部,我正在向控制器的視圖添加UITableView。

UITableView *myTableView_portrait = [[UITableView alloc] initWithFrame:CGRectMake(0, 102, 768, 857) style:UITableViewStylePlain];
[myTableView_portrait setTag:100];
[myTableView_portrait setDelegate:self];
[myTableView_portrait setDataSource:self];

[self.view addSubview:myTableView_potrait];
[myTableView_portrait release];

在ViewWillAppear內部打印此表視圖的保留計數將返回1,但在tableView: cellForRowAtIndexPath:內部將返回2。即使在tableView: numberOfRowsInSection:內部tableView: numberOfRowsInSection:保留計數為1。

知道這里發生了什么嗎?

絕不應該依賴保留數或得出太多結論-至少不應對復雜的事物(如復雜的第三方對象)。

在這種情況下,調用代碼可能會在調用委托方法之前保留該表,然后再釋放或自動釋放該表。

知道這里發生了什么嗎?

是! 這里發生的是您正在查看-retainCount ,您應該忘記自己所看到的。 揮手這不是您要尋找的方法。

遵循《 內存管理准則》 ,您會滿意的。

我的猜測是,當這行發生時:

[self.view addSubview:myTableView_potrait];

myTableView由其委托控制器保留1。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM