пользовательский класс UITableViewCell не вызывается - PullRequest
1 голос
/ 21 марта 2012

это метод

Я взял класс типа UIViewController и добавил весь делегат и источник данных в классе и IBOutlet tableView к XIB

в .ч

IBOutlet UITableView *listView_;

@property (nonatomic,retain) UITableView *listView;

дюйм. М

@synthesize listView = listView_;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
FWMessageCell *cell = nil;
cell = (FWMessageCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[[FWMessageCell alloc] initWithStyle:UITableViewCellStyleDefault    
reuseIdentifier:cellIdentifier] autorelease];
}
[cell setMessage:message];
return cell;
}

- (void) dealloc {
  self.listView = nil;// my tableView
  [super dealloc];
}

и в классе UITableViewCell

- (void) dealloc {
  [message_ release], message_ = nil;
  [super dealloc];
}

Моя проблема в том, что когда я возвращаюсь назад, вызывается первый dealloc, но класс ячейки dealloc не вызывается.

1 Ответ

0 голосов
/ 21 марта 2012
cell = [[[FWMessageCell alloc] initWithStyle:UITableViewCellStyleDefault    
reuseIdentifier:cellIdentifier] autorelease];

Это означает, что ваша ячейка помещается в пул автоматического выпуска, созданный в Application Kit.Я предполагаю, что вы используете какой-то UINavigationController и переходите назад.Ваша клетка будет освобождена только тогда, когда бассейн истощится.Это не должно произойти, когда вы вернетесь назад.Что касается того, когда это произойдет, посмотрите на документацию:

Комплект приложений создает пул автоматического выпуска в главном потоке в начале каждого цикла цикла событий и сливает его вконец, тем самым освобождая любые автоматически выпущенные объекты, сгенерированные во время обработки события.

http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSAutoreleasePool_Class/Reference/Reference.html

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