美文网首页
使用JSPatch中遇到的难点(一)

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

作者: 学习无底 | 来源:发表于2016-10-26 15:33 被阅读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方法

    //原代码

    • (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;

    相关文章

      网友评论

          本文标题:使用JSPatch中遇到的难点(一)

          本文链接:https://www.haomeiwen.com/subject/kfnduttx.html