今天发现了一个问题,框架中我一开始都是使用的self.super.ctor(self, app)来使用父类的构造函数,但是今天看到,lua中元表中函数的调用, . 和 : 使用是有很大区别的, : 会默认传递一个self进去,而 . 需要自己手动传递self,作为第一个参数
所以我将self.super.ctor(self, app)改为了self.super:ctor(app),运行之后报错了
研究了一下,发现是因为这里的self不对,需要的是父类的self,而默认传递的是没有和父类合并的子类的实例self,所以报错了,解决办法就是要么全改为 :ctor(self, ...) 自己手动合并self, 或者按着框架的来