UITableViewcell内存泄漏

UITableViewcell内存泄漏,uitableview,Uitableview,构建和分析的结果向我展示了这条线 第923行分配并存储到“单元”中的对象的潜在泄漏 这是我使用的代码 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ CustomizedCell *cell =(CustomizedCell*) [tableView dequeueReusableCellWithIdentifier:@"Custo

构建和分析的结果向我展示了这条线

第923行分配并存储到“单元”中的对象的潜在泄漏

这是我使用的代码

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


CustomizedCell  *cell =(CustomizedCell*) [tableView dequeueReusableCellWithIdentifier:@"CustomizedCell"];

HolidayAppDelegate *delegatObj = (HolidayAppDelegate *)[UIApplication sharedApplication].delegate;

NSLog(@"cellForRowAtIndexPath %d",indexPath.row);
if (cell == nil) {


    cell = [[CustomizedCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"CustomizedCell"];
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;



    [cell.mainBtn addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];
  [cell.redBtn addTarget:self action:@selector(Fourthbuttonclick:) forControlEvents:UIControlEventTouchUpInside];
[cell.greenBtn addTarget:self action:@selector(Firstbuttonclick:) forControlEvents:UIControlEventTouchUpInside];
    [cell.bluebtn addTarget:self action:@selector(Secondbuttonclick:) forControlEvents:UIControlEventTouchUpInside];
    [cell.yellowbtn addTarget:self action:@selector(Thirdbuttonclick:) forControlEvents:UIControlEventTouchUpInside];
   [cell.blackbtn addTarget:self action:@selector(Fifthbuttonclick:) forControlEvents:UIControlEventTouchUpInside];
    [cell setBackgroundView:[[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"backround@2x.png"]] autorelease]];


}

if(buttonClicks[indexPath.row] == YES){

    NSLog(@"button click is yes row is %d",indexPath.row);
    cell.redBtn.hidden = NO;
    cell.greenBtn.hidden = NO;
    cell.bluebtn.hidden = NO;
    cell.yellowbtn.hidden=NO;
    cell.blackbtn.hidden=NO;

}
else {

    cell.redBtn.hidden = YES;
    cell.greenBtn.hidden = YES;
    cell.bluebtn.hidden = YES;
    cell.yellowbtn.hidden=YES;
    cell.blackbtn.hidden=YES;
}

if ([[delegatObj.Favoritearray objectAtIndex:indexPath.row] isEqual:@"1"]) {


    [cell.mainBtn setBackgroundImage:[UIImage imageNamed:@"starSelected2.png"] forState:UIControlStateNormal];

}
else if ([[delegatObj.Favoritearray objectAtIndex:indexPath.row] isEqual: @"2"]) {

    [cell.mainBtn setBackgroundImage:[UIImage imageNamed:@"starSelected4.png"] forState:UIControlStateNormal];

}
else if ([[delegatObj.Favoritearray objectAtIndex:indexPath.row] isEqual: @"3"]) {

    [cell.mainBtn setBackgroundImage:[UIImage imageNamed:@"starSelected1.png"] forState:UIControlStateNormal];

}
else if ([[delegatObj.Favoritearray objectAtIndex:indexPath.row] isEqual: @"0"]) {

    [cell.mainBtn setBackgroundImage:[UIImage imageNamed:@"starSelected.png"] forState:UIControlStateNormal];

}

else if ([[delegatObj.Favoritearray objectAtIndex:indexPath.row] isEqual: @"5"]) {

    [cell.mainBtn setBackgroundImage:[UIImage imageNamed:@"starSelected3.png"] forState:UIControlStateNormal];

}

else {
    [cell.mainBtn setBackgroundImage:[UIImage imageNamed:@"starSelected.png"] forState:UIControlStateNormal];

}



cell.mainBtn.buttonIndex = indexPath.row;
cell.redBtn.buttonIndex = indexPath.row;
cell.greenBtn.buttonIndex = indexPath.row;
cell.bluebtn.buttonIndex = indexPath.row;
cell.yellowbtn.buttonIndex = indexPath.row;
cell.blackbtn.buttonIndex = indexPath.row;


cell.cellNameLabel.text=[delegatObj.Holidaynamearray objectAtIndex:indexPath.row];



 NSString *myString =[delegatObj.Datearray objectAtIndex:indexPath.row];


if ([myString length]==16) {
    NSRange stringRange = {0, MIN([myString length],11)};
    stringRange = [myString rangeOfComposedCharacterSequencesForRange:stringRange];

    // Now you can create the short string
    NSString *shortString = [myString substringWithRange:stringRange];
    cell.cellDateLabel.text=shortString;

}

if ([myString length]==15) {
    NSRange stringRange = {0, MIN([myString length],10)};
    stringRange = [myString rangeOfComposedCharacterSequencesForRange:stringRange];

    // Now you can create the short string
    NSString *shortString = [myString substringWithRange:stringRange];
    cell.cellDateLabel.text=shortString;

}
if ([myString length]==14) {
    NSRange stringRange = {0, MIN([myString length],9)};
    stringRange = [myString rangeOfComposedCharacterSequencesForRange:stringRange];

    // Now you can create the short string
    NSString *shortString = [myString substringWithRange:stringRange];
    cell.cellDateLabel.text=shortString;
    //[shortString release];

}
if ([myString length]==13) {
    NSRange stringRange = {0, MIN([myString length],8)};
    stringRange = [myString rangeOfComposedCharacterSequencesForRange:stringRange];

    // Now you can create the short string
    NSString *shortString = [myString substringWithRange:stringRange];
    cell.cellDateLabel.text=shortString;

}
if ([myString length]==12) {
    NSRange stringRange = {0, MIN([myString length],7)};
    stringRange = [myString rangeOfComposedCharacterSequencesForRange:stringRange];

    // Now you can create the short string
    NSString *shortString = [myString substringWithRange:stringRange];
    cell.cellDateLabel.text=shortString;


}
if ([myString length]==11) {
    NSRange stringRange = {0, MIN([myString length],6)};
    stringRange = [myString rangeOfComposedCharacterSequencesForRange:stringRange];

    // Now you can create the short string
    NSString *shortString = [myString substringWithRange:stringRange];
    cell.cellDateLabel.text=shortString;

}



cell.cellDayLabel.text=[delegatObj.Dayarray objectAtIndex:indexPath.row];


NSString *countynamestrng=[delegatObj.Countryarray objectAtIndex:indexPath.row];

cell.cellcountryLabel.text=countynamestrng;
NSLog(@"%@",countynamestrng);

cell.c1.image=[UIImage imageNamed:[NSString stringWithFormat:@"%@.png", countynamestrng]]; 
return cell;
}

如何以及在何处发布自定义UITableViewCell

谢谢

就在这一行之后:

cell = [[CustomizedCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"CustomizedCell"];
这样做:

[cell autorelease];