gpt4 book ai didi

c# - 在哪里初始化 Xamarin.iOS 应用程序中实例化的 PCL?

转载 作者:行者123 更新时间:2023-11-29 12:01:11 24 4
gpt4 key购买 nike

我正在开发 Xamarin 应用程序,我首先会在 iOS 上工作,但计划稍后扩展到 Android 和其他移动平台。

因此,我试图在 PCL 中保留尽可能多的通用代码。

我的问题:目前在 Xamarin.iOS 中初始化任何依赖 PCL 代码的最佳实践是什么?

现在我把它放在 ViewDidLoad()RootViewController

public override void ViewDidLoad()
{
base.ViewDidLoad();
_engine = new MyEngine();
View = new MainView(_engine);
}

这个地方对吗?我考虑过将它放在 RootViewController 的构造函数中,但在初始化代码中发生了一些事情,因此违反了“不要将繁重的初始化代码放入构造函数”。

发生的事情是:

  • 加载应用设置
  • 如果应用程序是第一次运行,加载基本默认值
  • 初始化其他 PCL 库,例如 TextToSpeech 模块、状态引擎(因此是上述类的名称)等
  • 准备基于 XML 或 JSON 输入的数据网格

或者,我认为它应该进入 AppDelegate 部分,但这听起来不对。

尽管我已经为 Windows 编写 C# native 代码多年,但我对一般的移动应用程序开发和特定的 Xamarin 仍然相当陌生。我只是想确保我遵循最佳实践,但在这种情况下似乎没有“你应该”。

编辑:我已经根据@wishmaster 的建议提取了解决方案。

最佳答案

对于 iOS,Appdelegate 方法是初始化代码的最佳位置。 appdelegate 还提供了多个委托(delegate)方法来为您提供有关应用程序生命周期事件的反馈,例如方法“DidFinishLauchingWithOptions”.如果您有大量数据要下载或您的应用程序依赖于长时间运行的任务,我建议您看一下 backgrounding for iOS .我还使用过的一项技术是,我在 IOS 上的第一个 View Controller (或 Android 上的事件)显示启动画面和加载指示器,同时我运行一些代码来刷新缓存。

关于c# - 在哪里初始化 Xamarin.iOS 应用程序中实例化的 PCL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36961832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com