Featured post
iphone - unloading a view in app delegate -
i have following delegate files. aboutviewcontroller in mainwindow.xib loads aboutviewcontroller.xib , aboutviewcontroller outlet connected it. also, navcontroller loaded viewcontroller.xib. aboutviewcontroller's view displayed @ start , removed after 1 second, release view controller setting ivar nil.
as view controller loaded xcode automatically, doing wrong(leaking memory etc.) setting nil manually myself? why or why not?
thanks
- myprojappdelegate.h
#import <uikit/uikit.h> @interface myprojappdelegate : nsobject <uiapplicationdelegate> { uiwindow *window; uiviewcontroller *aboutviewcontroller; uinavigationcontroller *navcontroller; } @property (nonatomic, retain) iboutlet uiwindow *window; @property (nonatomic, retain) iboutlet uiviewcontroller *aboutviewcontroller; @property (nonatomic, retain) iboutlet uinavigationcontroller *navcontroller; @end
- myprojappdelegate.m
#import "myprojappdelegate.h" #import "aboutviewcontroller.h" @implementation myprojappdelegate @synthesize window; @synthesize aboutviewcontroller; @synthesize navcontroller; - (void)applicationdidfinishlaunching:(uiapplication *)application { [window addsubview:aboutviewcontroller.view]; [window makekeyandvisible]; [nstimer scheduledtimerwithtimeinterval:1.0 target:self selector:@selector(showmainview) userinfo:nil repeats:no]; } -(void)showmainview { [aboutviewcontroller.view removefromsuperview]; self.aboutviewcontroller = nil; [window addsubview:navcontroller.view]; } - (void)dealloc { [navcontroller release]; [aboutviewcontroller release]; [window release]; [super dealloc]; } @end
as view controller loaded xcode automatically, doing wrong(leaking memory etc.) setting nil manually myself?
no, you're not doing wrong, because using property accessor method (self.aboutviewcontroller
) set nil
; accessor take care of release
. (and, correctly removing superview before releasing :-)
- Get link
- X
- Other Apps
Comments
Post a Comment