我的cellForRowAtIndexPath中有以下代码:
cell.appImageLogo.layer.cornerRadius = 10.0;
cell.appImageLogo.layer.masksToBounds = YES;
cell.appImageLogo.layer.borderColor = [UIColor clearColor].CGColor;
cell.appImageLogo.layer.borderWidth = 2.0;
我的问题是:它是否会导致内存问题&如果是,如何释放它所消耗的内存?任何帮助将不胜感激。
答案 0 :(得分:1)
如果您的细胞没有被重复使用且细胞数量不多,或者您的细胞被重复使用,则不会导致内存问题。
如果您的单元格被重用,并且cornerRadius
和borderColor
等属性相同,则您可以在单元格为nil
时的语句中进行编码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"YOURSTRING";
YourCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell==nil){
cell = [[YourCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
cell.appImageLogo.layer.cornerRadius = 10.0;
cell.appImageLogo.layer.masksToBounds = YES;
cell.appImageLogo.layer.borderColor = [UIColor clearColor].CGColor;
cell.appImageLogo.layer.borderWidth = 2.0;
}
// other different settings for different cells
return cell;
}
答案 1 :(得分:0)
在内存方面没有区别。该单元格具有一个层,并且该层上的更改属性不会影响内存消耗。
顺便说一句,你为什么要将边框设置为清晰的颜色?当然,根本不设置它没有任何区别吗?