美文网首页
【iOS】Changeset

【iOS】Changeset

作者: 琦思妙想君 | 来源:发表于2018-10-24 22:34 被阅读8次

    一个有趣的 iOS 项目 Changeset

    主要功能是计算两个数组之间的元素差异,即如何从一个数组经过一系列最小化的操作变为另一个数组。

    定义了一组操作:additions, deletions, substitutions, and moves,即增加、删除、替换、移动四种操作。

    输入一个原数组,一个目标数组,输出的是一个操作集使得,原数组变为目标数组。

    主要使用场景是 tableview 或 collectionview 数据集变化后,给界面提供动画效果。项目中还提供了 UIKit 的扩展,可以很方便的让 tableView 和 collectionView 使用操作集实现动画变更。

    项目是用 swift 写成的,代码中的核心是,如何比较两个数组并产生最小化的操作集。

    这个问题与最小公共子序列问题有一定的相似性,代码中的核心算法也是使用的动态规划的思路完成的。

    相关文章

      网友评论

          本文标题:【iOS】Changeset

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