使用JSPatch中遇到的难点(一)

2016-10-26  本文已影响16人  学习无底

昨天提交一个版本,今天发现居然开始审核了,还过了,发现了几个问题,蛮严重的,要修复。
使用 * 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方法

//原代码

5、CGRectGetMaxY

//原代码
_lineView.zz_y = CGRectGetMaxY(_shareCV.frame);
//js代码
_lineView.zz_y = self.shareCV().frame().y + self.shareCV().frame().height;

上一篇 下一篇

猜你喜欢

热点阅读