Question: I have UIImage outlet in TableViewCell which I will use it later in UITableView. When I check this in instruments I get some memory leak on UIImageView. I'm not releasing the UIImageView in the UITableViewCell, because I get exc\_bad\_access if I release it in the tavleViewCell.

My question is where do I release this UIImageView?

**Update**

CustomCell.h

```
@interface CustomCell : UITableViewCell {
IBOutlet UIImageView *customImage;
}

@property(nonatomic, retain) UIImageView *customImage;

@end

```

CustomViewController.m

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

static NSString *CellIdentifier = @"CustomCell";
CustomCell *cell = (CustomCell *) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

cell.customImage.hidden = [[self.customImageList objectAtIndex:indexPath.row] boolValue];

return cell; 
}

```

Answer: 
UITableView caches cells for later reuse. That shows up as a memory leak but you can eventually reuse the cell so it is not really leaked.

What you can do is release the imageview that is retained by your custom UITableViewCell when the cell scrolls off screen, but that could lead to performance problems if the image is needed again when scrolling.
First, let's define what you mean. When we're talking about a true memory leak, that's when heap has been allocated but there are no longer any pointers to it anywhere in your code. It is truly leaked, lost, and cannot be reused. If the Leaks tool identifies it as a leak that means that it is this kind of leak, which is not something to just live with and not a false leak as some have suggested. 

If you don't see it in the Leaks tool, then it could still be a leak or may be another type of memory issue which some also refer to as a memory leak, such as abandoned memory. 

In any case, please let us know what makes you call it a leak and you need to post your code for more help.