我有一个从基类继承的控制器的故障.我的基础看起来像:
public abstract class BaseUIViewController : UIViewController
{
public BaseUIViewController() : base() { }
public BaseUIViewController(..) : base(..) { }
}
我的控制器继承自此并定义了一个构造函数,如:
public class MyController : BaseUIViewController
{
public MyController(ISOmeService service,IOtherService service)
{
..
}
override ViewDidLoad(..) { .. }
}
TinyIOC创建conntroller的实例并提供构造函数服务.出于某种原因,当我这样做时,ViewDidLoad在构造函数之前运行.当我删除基类定义时,它没有任何问题.
知道基类导致问题的原因吗?我可以逻辑地假设它与objective-c编译有关,但是有解决方法吗?
谢谢.
解决方法
不要在构造函数中触摸Controller的View属性,因为这会触发ViewDidLoad.