设置对象层会导致内存问题吗?

时间:2013-02-28 06:40:57

标签: iphone ios objective-c quartz-core

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

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

2 个答案:

答案 0 :(得分: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;

    }

答案 1 :(得分:0)

在内存方面没有区别。该单元格具有一个层,并且该层上的更改属性不会影响内存消耗。

顺便说一句,你为什么要将边框设置为清晰的颜色?当然,根本不设置它没有任何区别吗?