2012-07-14 45 views
0

我在集成Greystripe廣告時存在一些問題(記錄爲here但不重要)。在我的問題的一種方式,如果只是提出我的gameView這樣介紹modalViewController正在釋放調用它的人

iSlideAppDelegate *appDelegate = (iSlideAppDelegate *)[[UIApplication sharedApplication] delegate]; 
      UIStoryboard *storyboard = self.storyboard; 
      Game3ViewController *gameView = (Game3ViewController *)[storyboard instantiateViewControllerWithIdentifier:@"mainGameController"]; 
      [appDelegate.window addSubview:gameView.view]; 

這基本上只是增加當前視圖控制器的頂部我gameView。

現在從這個觀點我想說明這樣

FullScreenSelfAdViewController *adView = [[FullScreenSelfAdViewController alloc] initWithNibName:@"FullScreenSelfAdViewController" bundle:nil]; 
     [adView setDismissDelegate:self]; 
     [self presentModalViewController:adView animated:YES]; 

的問題是,當顯示這個觀點,我gameView解除分配另一個模式的看法。這意味着當我打電話來解散AdView的時候,它會停留在屏幕上,因爲底層的gameView已經不存在了。

有沒有更好的方法來調用這些視圖? (我不能通過將它作爲模態視圖來調用我的gameView)。 或者一種方法來保持gameView釋放?

回答

1

如果我猜的話,你沒有很強的變量保持該被dealloced類。無論誰創造這個階級,都應該有一個強大的伊娃。當我嘗試創建一個對象並使用它而沒有保留它時,我遇到了完全相同的問題。請注意,對於UIAlerts,系統將保留它,當你調用[警報顯示],導致認爲你可以與其他視圖控制器做到這一點(你不能!)

好運。

+0

謝謝。創建一個強大的變量工作。這很有趣,你忽略了你大部分時間都在做的事情。 – Darren 2012-07-14 16:56:48

+0

哈問我怎麼知道答案:-) – 2012-07-14 22:17:03

+0

我猜小時試圖找出爲什麼事情會不會保留。大聲笑 – Darren 2012-07-15 06:50:10