在项目中,我创建了一个类viewTransistion奇怪和外来记忆行为
#import "viewTransition.h"
#import "quiz.h"
#import "mode.h"
#import "result.h"
#import "aboutGame.h"
#import "ViewController.h"
static UIView *cview=nil;
static quiz *quizObj=nil;
static mode *modeObj=nil;
static result *resultObj=nil;
static aboutGame *aboutGameObj=nil;
static ViewController *viewControllerObj=nil;
@implementation viewTransition
+(void) viewsTransitionCurrentView:(id)currentView toNextView:(NSString*)nextViewName
{
if(nextViewName == @"quiz")
{
quizObj = [[quiz alloc]init];
cview = quizObj.view;
NSLog(@"quizObj=%d", [quizObj retainCount]);
}
if(nextViewName == @"mode")
{
modeObj = [[mode alloc]init];
cview = modeObj.view;
NSLog(@"modeObj=%d", [modeObj retainCount]);
}
if(nextViewName == @"result")
{
resultObj = [[result alloc]init];
cview = resultObj.view;
NSLog(@"resultObj=%d", [resultObj retainCount]);
}
if(nextViewName == @"aboutGame")
{
NSLog(@"aboutGameObj=%d",[aboutGameObj retainCount]);
aboutGameObj = [[aboutGame alloc]init];
cview = aboutGameObj.view;
}
if(nextViewName == @"viewController")
{
viewControllerObj = [[ViewController alloc]init];
cview = viewControllerObj.view;
}
[UIView transitionFromView:[currentView view] toView:cview duration:2 options:UIViewAnimationOptionTransitionCurlUp completion:^(BOOL finished) {}];
[currentView release];
cview = nil;
}
@end
其目的是执行视图转变,所以我不必再Ñ再次
第一,我创建方法编写代码这个类非静态的变量...
我检查设备我是也许越来越泄漏,因为我是ALLOC INITING并没有释放OBJ文件if语句
如果我释放在过去的我无法执行视图转变的OBJ因为我想去被破坏
下一个视图................... ...................
检查我转换这个类的方法和变量,以静态的,所以我可以检查保留计数
为什么我转换成原因静态...如果每次创建这个类的新实例,我总会得到当前实例的保留计数1
现在我第一次执行这个工作正常,但如果你看看aboutGame,如果阻止第一个e xecution下次打印0如果我想再次在这个页面上NSLog行成为僵尸?
......................................
在最后一行[currentView发布]是去除根视图控制器......但我没有Init这ALLOC我不这样,为什么我应该释放它的主人..我在一本书中释放视图控制器看到代码。
......................................
哪个是最好的方式来实现这种情况静态或者非静态
我使用这个类的方法和变量静态和其优良的工作没有泄漏没有僵尸没有问题?????
'retainCount是无用的。别叫它。'应该是巨大的粗体字:) – deanWombourne 2011-12-19 17:32:04
呃......我现在就结束了。最后把它们全部放在我的博客上。 http://www.friday.com/bbum/2011/12/18/retaincount-is-useless/ – bbum 2011-12-19 17:40:42
感谢您的详细解答..它帮助了很多。 – supera 2011-12-20 05:02:50