2011-12-10 60 views
8

這裏發生了什麼的快速簡介。MobFox iOS框架,崩潰XIB卸載時......我在這裏做錯了什麼?

我有一個GameScene和一個GameOverUIController。當遊戲結束時,它加載GameOverUIController,加載加載MobFoxBannerView的xib。

問題出在這裏:如果您按「再次播放」按鈕來加快播放速度,或者您播放的播放時間超過3分鐘左右,則廣告會在後臺加載,但實質上沒有去往的地方,並且崩潰。

我接受了一個朋友的建議,增加了ViewDidUnload來設置bannerview爲零,但它仍然崩潰......我不是最令人驚歎的程序員承認,但我覺得我在某處做出最愚蠢的錯誤。 .. 任何幫助是極大的讚賞。我只是在這裏使用錯誤的語法?

我做了以下事情。

我綜合了GameOverUI實現中的bannerView。

手動將它添加到的視圖現在,之前我曾在我主要實現直接添加一個UIWebView來廈門國際銀行界面生成的GameOverUIController

self.bannerView = [[[MobFoxBannerView alloc] initWithFrame:CGRectMake(0, 0, 320, 50)] autorelease]; 
bannerView.delegate = self; 

[self.view addSubview:bannerView]; 
[self.view bringSubviewToFront:bannerView]; 

和多數民衆贊成。所以每次加載GameOver屏幕時,它都會請求一個新的添加。

然後我在頭文件中設置值。

-(NSString *) publisherIdForMobFoxBannerView:(MobFoxBannerView *)banner; 

@property (nonatomic, retain) MobFoxBannerView *bannerView; 

,並設置我的發佈者ID在GameOverUIController.m

- (NSString *)publisherIdForMobFoxBannerView:(MobFoxBannerView *)banner 
{ 
return @"xxxxxxxxxxxx"; 
} 

的底部則...仍然得到崩潰所以後來我試圖將其設置爲nil希望將工作.. 。但我不知道有關語法...

茨艾倫的在GameOverUIController.m

- (void)viewDidUnload 
{ 

[super viewDidUnload]; 

self.bannerView = nil; 
// or ? bannerView.delegate = nil; 
} 

Niether e線的作品.....我完全失去。如果我不能在週末結束之前弄清楚這個問題,那麼就可以轉到另一個廣告平臺上了。現在我的存在的禍根。任何幫助將不勝感激。非常感謝您

編輯:

想通了...... 無關與ViewUnload ....

- (void)dealloc 
{ 
bannerView.delegate = nil; 
[super dealloc]; 

} 

將其添加到錯誤的位置...完美的作品現在。

回答

0

我猜你的問題是在

bannerView.delegate = self; 
  • 被加載的加載時(因爲糟糕的互聯網它可以例如很慢) - 委託方法被調用,但「自我」被釋放 - 因此引發運行時異常。

順便說一下,我不知道關於MobFox框架的一件事。這只是一種常見的反模式。

相關問題