在項目中,我創建了一個類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