gpt4 book ai didi

ios - 在 cellForRowAtIndexPath : 处增长的事件字节数

转载 作者:行者123 更新时间:2023-11-29 13:03:34 25 4
gpt4 key购买 nike

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

TRSocialCell *cell = (TRSocialCell *)[self.tableView dequeueReusableCellWithIdentifier:@"cell"];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"TRSocialCell" owner:self options:nil];
cell = [nib objectAtIndex:0];

__weak TREvent *eventFromParse;
if (!isSearchingEvents){
if ( [filteredArray[indexPath.section] count] == 0) {
[cell displayForNoEvents];
cell.selectedBackgroundView = bgCell;
return cell;
} else {
eventFromParse = filteredArray[indexPath.section][indexPath.row];
}
}
else eventFromParse = searched[indexPath.row];

//Cover Image
[eventFromParse.fileForCover getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
if (!error) {
eventFromParse.coverPicture = [UIImage imageWithData:data];
cell.coverView.image = [UIImage imageWithData:data];

} else {
[TRAppDelegate displayInternetErrorForView:self.view];
}

}];

cell.titleAutoLabel.text = [NSString stringWithFormat:@"%@",eventFromParse.title];
cell.titleAutoLabel.fadeLength = 0;
cell.titleAutoLabel.pauseInterval = 2.0f;
[animatedLabels addObject:cell.titleAutoLabel];

if (eventFromParse.location != nil) {
cell.addressLabel.text = [NSString stringWithFormat:@"%@",eventFromParse.location.name];
}

[cell.titleAutoLabel setFont:[UIFont fontWithName:@"BigNoodleTitling" size:26]];
[cell.titleAutoLabel setTextColor:[UIColor whiteColor]];
[cell.addressLabel setFont:[UIFont fontWithName:@"BigNoodleTitling" size:18]];
[cell.addressLabel setTextColor:[UIColor whiteColor]];
[cell.dateLabel setFont:[UIFont fontWithName:@"BigNoodleTitling" size:18]];
[cell.dateLabel setTextColor:[UIColor whiteColor]];

cell.dateLabel.text = [NSString stringWithFormat:@"%@ - %@",[TRAppDelegate convertDateToDate:eventFromParse.date],[TRAppDelegate convertDateToTime:eventFromParse.date]];
cell.selectedBackgroundView = bgCell;
}

return cell;
}

我遇到了问题,因为内存在增长,但我找不到是什么。每次我滚动到另一个单元格时, if (!cell) {} keep beign 是否正常?

我必须在 View Controller 的 dealloc 中将属性设置为 nil 吗?

这段代码可能泄露了什么?

最佳答案

I'm having trouble cause memory is growing but i can't find what is. Is it normal the if (!cell) {} keep beign called everytime I scroll to another cell?

没有。您没有将新分配的单元放入重用队列中。因此,每次您需要提供一个新单元时,您基本上就是将一个新 Nib 加载到 RAM 中。按照您的方式,新的 TRSocialCell 不知道它们的重用标识符是什么 - 因此它们显然根本不会被重用。

尝试在您的 TRSocialCell 实现文件中实现以下方法,以便您的单元格在系统询问时可以返回它们的 reuseIdentifier:

- (NSString *)reuseIdentifier {
return @"cell";
}

顺便说一句:
'cell' 不是 reuseIdentifier 的最明智选择。如果有一天你想使用不同类型的单元格,它真的会弄乱你的重用队列。它会建议您在标识符中包含类名。例如 TRSocialCellID

关于ios - 在 cellForRowAtIndexPath : 处增长的事件字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19190427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com