一般MonoTouch开发问题

时间:2011-12-02 22:35:00

标签: silverlight xamarin.ios

我在MonoTouch工作并且很新。我一直在为Windows Phone构建一个应用程序,我想把它移植到iOS。因为我的应用程序是在Silverlight中,这是我的参考点。

  1. 在Silverlight中,有一个Application_UnhandledException事件。此全局事件处理程序使某人能够处理应用程序中未捕获的任何错误。 MonoTouch中有类似的东西吗?
  2. 有人应该如何创建应用程序范围的变量?在Silverlight中,我会使用App.VariableName。但是,我不确定MonoTouch中是否推荐这样做。
  3. 谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用以下方法处理未处理的异常:

AppDomain.CurrentDomain.UnhandledException += delegate(object sender, UnhandledExceptionEventArgs e) {
                this.doSomething(((Exception)e.ExceptionObject));
};

或者应用程序范围的变量,我通常做的是创建一个名为my app的类,我的变量在其中,然后我创建一个我使用的sharedInstance对象,所以我可以做类似的事情: / p>

MyApp.sharedInstance.LoggedInUser = new User();

框架中没有特定的位置供您放置变量,尽管有些人使用AppDelegate类(这似乎在iOS obj-c开发人员之间很常见)。我更喜欢将它与UIKit / iOS完全分开,所以它可以重复使用。

答案 1 :(得分:0)

我没有简单的方法来全局捕捉MT中的未处理异常。

我通常通过创建一个包含我需要的全局设置或参数的静态类AppState来处理伪全局变量。由于它是静态的,我可以在我的应用程序的任何地方访问它。