依赖注入的Xamarin iOS控制器自定义继承问题

本文关键字:自定义 继承 问题 控制器 iOS 注入 Xamarin 依赖 | 更新日期: 2023-09-27 18:29:29

我有一个从基类继承的控制器出现故障。我的基地看起来像:

public abstract class BaseUIViewController : UIViewController
{
   public BaseUIViewController() : base() { }
   public BaseUIViewController(..) : base(..) { }
}

我的控制器继承了这一点,并定义了一个构造函数,如:

public class MyController : BaseUIViewController
{
   public MyController(ISOmeService service, IOtherService service)
   {
      ..
   }
    override ViewDidLoad(..) { .. }
}

TinyOC创建控制器的实例并提供构造函数服务。出于某种原因,当我执行此操作时,ViewDidLoad会在构造函数之前运行。当我删除基类定义时,它不会出现任何问题。

知道为什么基类会导致这些问题吗?从逻辑上讲,我可以假设它与objective-c编译有关,但有解决方法吗?

谢谢。

依赖注入的Xamarin iOS控制器自定义继承问题

不要在构造函数中触摸Controller的View属性,因为这将触发ViewDidLoad。