Kotlin Getter方法未调用导致业务逻辑不执行的问题求助
Kotlin Getter方法未调用导致业务逻辑不执行的问题求助
我最近把一个体量不小的项目从C#迁移到Android Kotlin环境,结果碰到个离谱到没边的bug——有时候某些方法和业务逻辑片段居然直接跳过不执行!调试的时候Android Studio底部弹出个绿色提示,说"method getFiscalReceipt() 未被调用",关键是既没抛异常,日志里也没任何相关报错,程序就跟没事人一样继续跑下去,这简直是程序造反了啊!
给大伙看看我的代码场景:
我写了个SaleValidator类,继承自BaseValidatorPart,里面定义了一个getter属性来获取FiscalReceipt实例:
internal class SaleValidator(sharedService: SharedService) : BaseValidatorPart(sharedService) { private val fiscalReceipt: FiscalReceipt get() = SS.printerState.currentReceipt!!.fiscalReceipt!!; override fun execute(args: Any) { // .. 其他逻辑 fiscalReceipt.addTurnover(context.sumWDiscount, context.vatId); fiscalReceipt.updateTax(context.vatId, SS.printerState.taxes[context.vatId]); } }
现在的核心问题是,fiscalReceipt.addTurnover(...)这行代码完全没生效,我尝试步进调试进入addTurnover方法的时候,Android Studio底部就弹出那个绿色提示,说getFiscalReceipt()方法没被调用,就离谱!有没有大佬碰到过这种诡异的情况啊?
备注:内容来源于stack exchange,提问作者Ernis
相关产品推荐
相关产品推荐

