分析ビルドを使用してアプリを実行すると、Xcodeで多くのメモリリークが検出されました。特に、ここでどのように解決するかわからないことが1つあります。
- (UIView *) tableView:(UITableView *)tableView
viewForHeaderInSection:(NSInteger)section {
UIImageView *sectionImage = [[UIImageView alloc] init];
if (section == 0)sectionImage.image = [UIImage imageNamed:@"myImage.png"];
return sectionImage;
}
だから私の質問は、どうすればこのsectionImageをリリースできますか?メソッドの戻りはありますか?
編集:
私は別の質問があります、分析して私に別のメモリリークを与えてください、私はこれを持っています:
.h @property(nonatomic、retain)NSIndexPath * directCellPath;
.m
@synthesize directCellPath = _directCellPath;
- (id)init{
if ((self = [super initWithNibName:@"MyViewController" bundle:nil])) {
self.directCellPath = [[NSIndexPath alloc] init];
}
return self;
}
次に、コードでそれを使用し、最後にdeallocでこれを行います:
- (void)dealloc {
[_directCellPath release];
[super dealloc];
}
この行でメモリリークが発生します。
self.directCellPath = [[NSIndexPath alloc] init];
なぜdeallocで割り当てを解除したのですか?