1

私は Xcode を初めて使用しますが、このメモリ リークを解消するために何か助けていただければ幸いです。[window addSubview:navcontrol.view]; という行に表示されます。以下は私のコードです:

#import "ExSignupAppDelegate.h"
#import "SignupTableViewController.h"

@implementation ExSignupAppDelegate

@synthesize window;

@synthesize viewController;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    UINavigationController* navcontrol;
    navcontrol = [[UINavigationController alloc]init];
    SignupTableViewController* signupVC = [[SignupTableViewController alloc]initWithNibName:@"SignupTableViewController" bundle:nil];
    signupVC.title = NSLocalizedString(@"Title Abstract Search", @"");
    [navcontrol pushViewController:signupVC animated:NO];
    [signupVC release];
    [window addSubview:navcontrol.view];

    return YES;
    }

-(void)applicationDidFinishLaunching:(UIApplication *)application
{
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}

- (void)dealloc
{

    [window release];
    [viewController release];
    [super dealloc];
}

@end
4

2 に答える 2

1

alloc/init を使用して navController を作成しているので、それを解放する責任があります。回線を変更する

navController = [[UINavigationController alloc]init];

navController = [[[UINavigationController alloc]init] autorelease];

これにより、navController が後で解放される autoreleasepool にスローされます。他のメソッドで navController が必要な場合は、プロパティに格納する必要があります。

于 2013-04-24T11:02:34.090 に答える