2011-06-13 26 views
2

我有一個奇怪的問題關閉我的成就和排行榜視圖控制器。 視圖控制器正確顯示,可以使用完成按鈕,但只有當你按下它顯示約15秒內,如果你按任何時候之後,我的應用程序只是崩潰按下它可以解僱。在調試器中,我收到一個「無法識別的選擇器發送到實例」的錯誤。Monotouch成就和排行榜視圖控制器

我猜測也許viewcontrollers正在垃圾收集或什麼?我真的很感激任何建議。

繼承人我的代碼

 public void checkAchievements(UIViewController view) 
    { 

     GKAchievementViewController gkview = new GKAchievementViewController(); 
     view.PresentModalViewController(gkview,true); 
     gkview.Delegate = new gkviewdelegate(); 

    } 

    public class gkviewdelegate : GKAchievementViewControllerDelegate 
    { 
     public override void DidFinish (GKAchievementViewController viewController) 
     { 
       viewController.DismissModalViewControllerAnimated(true); 
       Console.WriteLine("Dismiss Leaderboard"); 

     } 


    } 

回答

0

你gkview越來越垃圾收集。將其更改爲實例變量,而不是在您的類中以保存對其的引用。

所以你的代碼應該看起來有點像;

GKAchievementViewController gkview; 

public void checkAchievements(UIViewController view) 
{ 
    gkview = new GKAchievementViewController(); 
    view.PresentModalViewController(gkview,true); 
    gkview.Delegate = new gkviewdelegate(); 
} 
相關問題