一 . 情况
xcode版本10.2.1 swift版本4.2
项目里面有个BaseTableViewController (实现UITableViewDelegate,UITableViewDataSources部分协议方法)
1. debug真机运行的时候继承自BaseTableViewController的子类tableview的所有方法都是可以执行的,项目没问题
2. 打release包运行release包的时候发现
1 . 直接debug模式下运行到手机上app 没有问题
2. 打release包的时候tableview的部分协议方法不走
3. 在父类BaseTableViewController中如果重写了这些协议方法, 子类再继承父类BaseTableViewController , 重写代理方法 如果加上override . 这些协议api 是可以执行的 .
二. 解决方法
1. 用 xcode10.1打包上线 , 然后等xcdoe新的sdk解决
2. 这种解决方法有点小臃肿 , 而且也有点不符合正常的开发思维逻辑 ,
解决方法为 : 在BaseTableViewController 里面把UITableviewDelegate UITableviewDatasources 里面的所有协议方法都在BaseTableViewController实现一遍 ,然后ChildBaseTableViewController 中用到哪个重写哪个protocol api . 然后测试的是没问题的
3.如果有更好的解决方法 . 希望能mark我下 . 互相交流,共同进步~.
网友评论