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

Bri*_*ins 7 c# inheritance xamarin.ios ios xamarin

我有一个从基类继承的控制器的故障.我的基础看起来像:

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

   public BaseUIViewController(..) : base(..) { }
}
Run Code Online (Sandbox Code Playgroud)

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

public class MyController : BaseUIViewController
{

   public MyController(ISOmeService service, IOtherService service)
   {
      ..
   }

    override ViewDidLoad(..) { .. }

}
Run Code Online (Sandbox Code Playgroud)

TinyIOC创建conntroller的实例并提供构造函数服务.出于某种原因,当我这样做时,ViewDidLoad在构造函数之前运行.当我删除基类定义时,它没有任何问题.

知道基类导致问题的原因吗?我可以逻辑地假设它与objective-c编译有关,但有没有解决方法?

谢谢.

Oli*_*old 5

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