0

我的 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;

我的问题是:它会导致内存问题吗?如果是,如何释放它消耗的内存?任何帮助将不胜感激。

4

2 回答 2

1

如果您的单元格没有被重复使用并且单元格数量不多,或者您的单元格被重复使用,则不会导致内存问题。

如果您的单元格被重用,并且如果cornerRadiusborderColor属性相同,您可以在该单元格时的语句中编写代码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;

    }
于 2013-02-28T07:15:01.687 回答
0

它在内存方面没有区别。无论如何,单元都有一个层,并且更改该层上的属性不会影响内存消耗。

顺便说一句,您将边框设置为清晰的颜色是为了什么?当然,这与根本不设置它没有区别吗?

于 2013-02-28T07:37:20.803 回答