7

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

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

   public BaseUIViewController(..) : base(..) { }
}

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

public class MyController : BaseUIViewController
{

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

    override ViewDidLoad(..) { .. }

}

TinyIOC 创建控制器实例并提供构造函数服务。出于某种原因,当我这样做时, ViewDidLoad 在构造函数之前运行。当我删除基类定义时,它可以正常工作。

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

谢谢。

4

1 回答 1

5

不要在构造函数中触摸控制器的 View 属性,因为这会触发 ViewDidLoad。

于 2013-10-11T14:53:33.547 回答