私は最近オブジェクティブ c を学び始め、tableView、imageview、scrollView に基づいてアプリケーションを作成しています。
テーブルビューでボタンを押すと、アプリケーションがスクロールビューにプッシュされ、イメージビュー内に画像があります。imageview (ボタンを押したときに読み込んだ画像) からメモリを解放しようとすると問題が発生します。問題は、以前に読み込んだ画像がまだ残っていることです。
これが私が持っているコードです:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *headTitle = [[listContent objectAtIndex:indexPath.row] objectForKey:kItemTitleKey];
if ([headTitle isEqualToString:@"Differentialekvationer"]){
leafViewController.title = headTitle;
[[self navigationController] pushViewController:leafViewController animated:YES];
NSString *fullpath = [[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/c.png"];
UIImage *imageToLoad = [UIImage imageWithContentsOfFile:fullpath];
leafViewController.myImageView = [[UIImageView alloc] initWithImage:imageToLoad];
leafViewController.myScrollView = [[UIScrollView alloc] initWithFrame:leafViewController.view.bounds];
[leafViewController.myScrollView addSubview:leafViewController.myImageView];
leafViewController.myScrollView.contentSize = leafViewController.myImageView.bounds.size;
[leafViewController.view addSubview:leafViewController.myScrollView];
leafViewController.myScrollView.bounces = NO;
}else if ([headTitle isEqualToString:@"Gränsvärden"]){
leafViewController.title = headTitle;
[[self navigationController] pushViewController:leafViewController animated:YES];
NSString *fullpath = [[[NSBundle mainBundle] bundlePath] stringByAppendingString:@"/e.png"];
UIImage *imageToLoad = [UIImage imageWithContentsOfFile:fullpath];
leafViewController.myImageView = [[UIImageView alloc] initWithImage:imageToLoad];
leafViewController.myScrollView = [[UIScrollView alloc] initWithFrame:leafViewController.view.bounds];
[leafViewController.myScrollView addSubview:leafViewController.myImageView];
leafViewController.myScrollView.contentSize = leafViewController.myImageView.bounds.size;
[leafViewController.view addSubview:leafViewController.myScrollView];
leafViewController.myScrollView.bounces = NO;
}
そして、基本的にeverytingでメモリを解放しようとしました
-(void)viewDidDisappear{
leafViewController.myImageView.image = nil;
leafViewController.myScrollView = nil;
leafViewController.view = nil;
[leafViewController.myImageView release];}
何を探すべきか、どこに問題があるのかわかりません。助けていただければ幸いです:)。
PS 目標 c を 4 日間学習しているので、初心者です。