【问题标题】:Monotouch Achievements and leaderboard viewcontrollersMonotouch 成就和排行榜视图控制器
【发布时间】:2011-06-13 23:16:54
【问题描述】:

我在关闭我的成就和排行榜视图控制器时遇到了一个奇怪的问题。 视图控制器显示正确,可以使用完成按钮关闭,但前提是您在显示后大约 15 秒内按下它,如果您在此之后的任何时间按下完成,我的应用程序就会崩溃。在调试器中,我收到“无法识别的选择器发送到实例”错误。

我猜可能视图控制器正在被垃圾收集或其他什么?非常感谢任何建议。

这是我的代码

        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");

        }


    }

【问题讨论】:

    标签: iphone xamarin.ios game-center achievements leaderboard


    【解决方案1】:

    您的 gkview 正在收集垃圾。将其更改为实例变量,而不是在您的类中保留对它的引用。

    所以你的代码应该有点像;

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

    【讨论】:

      猜你喜欢
      • 2015-08-21
      • 2018-08-13
      • 1970-01-01
      • 2017-01-30
      • 1970-01-01
      • 2023-04-08
      • 2012-01-21
      • 1970-01-01
      • 2013-12-02
      相关资源
      最近更新 更多