昨天提交一个版本,今天发现居然开始审核了,还过了,发现了几个问题,蛮严重的,要修复。
使用 * JSPatchConvertor * 工具将相关OC转换后直接运行crash,解决了如下几个问题后,才正常工作。
1 、宏
//原代码 topicDetailCellidentifier 为一个宏
ZZTopicDetailCell *cell = [tableView dequeueReusableCellWithIdentifier:topicDetailCellidentifier];
//js代码 将原代码中的宏用宏真实值代替
var cell = tableView.dequeueReusableCellWithIdentifier("topicDetailCellidentifier");
2、枚举值
//原代码 UITableViewCellSelectionStyleNone 为一个枚举类型的值
cell.selectionStyle = UITableViewCellSelectionStyleNone;
//js代码 将原代码中的枚举类型的值用具体的数字值代替
cell.setSelectionStyle(0);
3、cell赋值
这是卡的时间最长的,且没有在文档中找到解决方法的。
//原代码
cell.replayModel = self.replayList[indexPath.row];
//js代码 将数据源 数组调用 * toJS * 方法后,给cell赋值才成功,不调用,赋的值为nil
var array = self.replayList().toJS();
cell.setReplayModel(array[indexPath.row()]);
4、重写setter方法
//原代码
- (void)setMoreModel:(ZZTopicMoreDataModel *)moreModel{
_moreModel = moreModel;
.......
}
//js代码 只找到这一种方法
self.setValue_forKey(moreModel, "_moreModel");
5、CGRectGetMaxY
//原代码
_lineView.zz_y = CGRectGetMaxY(_shareCV.frame);
//js代码
_lineView.zz_y = self.shareCV().frame().y + self.shareCV().frame().height;
网友评论