西安企业网站建设模板,抖音seo什么意思,做医疗的网站,上海对外经贸大学开发中#xff0c;我们不可避免要使用#xff0c;别人花很多时间打磨好的轮子#xff0c;轮子好用#xff0c;但有时却无法完全满足我们的要去#xff0c;这时我们不可避免的要去修改增强一下这个库#xff0c;如何增强#xff1f; 我认为#xff0c;一般有两种修改的方… 开发中我们不可避免要使用别人花很多时间打磨好的轮子轮子好用但有时却无法完全满足我们的要去这时我们不可避免的要去修改增强一下这个库如何增强 我认为一般有两种修改的方式1入侵式修改 2叠加式修改 1入侵式修改 如果涉及的地方逻辑较简单清晰那就直接找到目标处改它改它的数据改它的UI。 2叠加式修改 如果涉及的地方逻辑较复杂冗长草蛇灰线牵一发动全身那么最好少改原作者的代码应该根据自己的需求 新定义一些数据或UI控件或新增一些自己的API视情况而定。 案例1:修改IQKeyboarManager的完成按钮将英文Done改成中文 方式找到定义该标题的地方确定它在哪行代码或者哪个控件的定义处。 方案11直接搜索Done关键字但发现搜索出的条目太多不好找先不用 方案21间接搜索其位于同一父控件的上下箭头发现搜出来的条目只有三个好缩小范围了 确定目标到了某个几文件内 2在那几个文件内再次搜Done关键字发现可疑目标控件就注释看是否被我消失了 旧版本很快找到了新版本没找到 3然后在一群可疑的doneAction方法内打断点我点击done按钮看哪个方法能监听到事件 最后定位到一个方法顺着方法的控件就找到目标控件了 案例2修改一个tag选择控制器 1一开始使用入侵时修改但逻辑较复杂冗长没去仔细看就改为叠加式修改 案例3增强MJExtension 注意点添加新文件到MJExtension不仅要添加到该target也要添加到测试那两个框架否则会报错。 转载于:https://www.cnblogs.com/dzq1991/p/6520611.html