UITableView сохранить счет - PullRequest
       1

UITableView сохранить счет

1 голос
/ 22 декабря 2010

Внутри 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: счет сохранения равен 1.

Есть идеи, что здесь происходит?

Ответы [ 3 ]

3 голосов
/ 22 декабря 2010

Вы не должны никогда полагаться на счет сохранения или делать из него много выводов - по крайней мере, не для сложных вещей, таких как сложные объекты третьих сторон.

В этом случае вызывающий код может сохранить таблицу перед вызовом метода делегата и впоследствии освободить или автоматически выпустить его.

3 голосов
/ 22 декабря 2010

Есть идеи, что здесь происходит?

Да!Здесь происходит то, что вы смотрите на -retainCount, о котором вам следует забыть, что вы когда-либо видели. машет рукой Это не тот метод, который вам нужен.

Следуйте Руководству по управлению памятью и все будет в порядке.

0 голосов
/ 22 декабря 2010

Я думаю, что когда эта строка произойдет:

[self.view addSubview:myTableView_potrait];

myTableView сохраняется 1 его контроллером-делегатом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...