1

私は最近オブジェクティブ 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 日間学習しているので、初心者です。

4

0 に答える 0