【发布时间】:2016-05-01 00:47:29
【问题描述】:
我正在开发一个 Xamarin 应用程序,我最初将在 iOS 上工作,但计划稍后扩展到 Android 和其他移动平台。
因此,我试图在 PCL 中保留尽可能多的通用代码。
我的问题:在 Xamarin.iOS 中,初始化任何相关 PCL 代码的最佳做法是什么?
现在我把它放在RootViewController里面ViewDidLoad()
public override void ViewDidLoad()
{
base.ViewDidLoad();
_engine = new MyEngine();
View = new MainView(_engine);
}
这是正确的位置吗?我曾考虑将它放在 RootViewController 的 ctor 中,但在初始化代码中发生了相当多的事情,因此违反了“不要将重型初始化代码放入构造函数”。
发生的事情是:
- 加载应用设置
- 如果应用程序是第一次运行,请加载基本默认值
- 初始化其他 PCL 库,例如 TextToSpeech 模块、状态引擎(因此是上述类的名称)等
- 准备基于 XML 或 JSON 输入的数据网格
另外,我认为它可能应该进入AppDelegate 部分,但这听起来不对。
虽然我已经为 Windows 编写 C# 本机代码多年,但总的来说,我对移动应用程序开发和特定的 Xamarin 仍然相当陌生。我只是想确保我遵循最佳实践,但在这种情况下似乎没有“你应该”。
编辑:我根据@wishmaster 的建议提取了解决方案。
【问题讨论】:
标签: c# ios xamarin xamarin.ios