Ios UITableView滚动时内存不断增加

Ios UITableView滚动时内存不断增加,ios,uitableview,memory,Ios,Uitableview,Memory,有一个我从未遇到过的奇怪问题 有一个数组(),其中包含一些由JSONKit解析的名为MyClass的自定义对象 当我不断滚动tableview时,内存也会不断增加 但是什么时候替换呢 cell.textLabel.text = myclass.name; 与 或 内存保持稳定没问题 但是如果我使用 cell.textLabel.text = [NSString stringWithFormate:@"a-%@-i",myclass.name, indexPath.row]; 也在不断增加,

有一个我从未遇到过的奇怪问题

有一个数组(),其中包含一些由JSONKit解析的名为MyClass的自定义对象

当我不断滚动tableview时,内存也会不断增加

但是什么时候替换呢

cell.textLabel.text = myclass.name;

内存保持稳定没问题

但是如果我使用

cell.textLabel.text = [NSString stringWithFormate:@"a-%@-i",myclass.name, indexPath.row];
也在不断增加,

这会让我发疯的

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *identifier = @"Singers";
    OMTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    MyClass *myclass = [self.data objectAtIndex:indexPath.row];
    if (cell == nil){
        cell = [[[OMTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier] autorelease];   
    }

    cell.textLabel.text = myclass.name;

    return cell;
}
我的班级

有两个类,一个是基类,另一个是继承类

基数:

继承:

#import "OMBase.h"

@interface OMLyric : OMBase

- (NSString *)songid;
- (NSString *)content;

#import "OMLyric.h"

@implementation OMLyric

- (NSString *)songid{
    return [data objectForKey:@"songid"];
}

- (NSString *)content{
    return [data objectForKey:@"content"];
}

似乎您的
myclass.name
getter返回一个新分配的对象。如果您使用
cell.textlab.text=((myclass*)self.data[indexPath.row]).name,那么如果您不查看
myclass
,我们就无法说更多了
而不是
cell.textlab.text=myclass.name?你在
-(NSString*)getName中写了什么?是的,它仍然在增加@markonikolovski它增加了多少?再放一些代码,确保您使用的是设备而不是模拟器进行评测。@Tarek我使用的是设备~:),并且在所有单元格显示一次之前,它一直在增加
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString *identifier = @"Singers";
    OMTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    MyClass *myclass = [self.data objectAtIndex:indexPath.row];
    if (cell == nil){
        cell = [[[OMTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier] autorelease];   
    }

    cell.textLabel.text = myclass.name;

    return cell;
}
@interface OMBase : NSObject {
    NSMutableDictionary *data;
    NSString *name;
    NSArray *keys;
}

@property (nonatomic, retain) NSString *name;
@property (nonatomic, copy) NSMutableDictionary *data;

@implementation OMBase

@synthesize data, name;


- (void)setData:(NSMutableDictionary *)adata{
    if (data){
        [data release];
        data = nil;
    }
    data = [adata mutableCopy];
}

- (void)dealloc{
    if (keys){
        [keys release];
    }
    [data release];
    [super dealloc];
}

- (id)init{
    if (self = [super init]){
        self.data = [[[NSMutableDictionary alloc] initWithCapacity:20] autorelease];
    }
    return self;
}
#import "OMBase.h"

@interface OMLyric : OMBase

- (NSString *)songid;
- (NSString *)content;

#import "OMLyric.h"

@implementation OMLyric

- (NSString *)songid{
    return [data objectForKey:@"songid"];
}

- (NSString *)content{
    return [data objectForKey:@"content"];
}