首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
hard_man
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
3
文章 3
沸点 0
赞
3
返回
|
搜索文章
最新
热门
iOS应用模块化的思考及落地方案(二)模块化自动构建工具的使用
前文已经介绍了模块化的流程及一些常见的问题,我们在这里再次总结一下。 在工作中,当我们开始一个新项目的时候,最先考虑的就是模块化工作。 模块化工作的想法是很美好的,可是执行过程中会遇到很多的问题,而这些问题可能会让我们在工作中举步维艰。 工具使用问题。iOS的模块化一般会使用c…
iOS应用模块化的思考及落地方案(一)模块的划分及模块化工作流程
很多关于重构及设计模式的介绍中,经常提到的几个词语是复用及解耦。 模块化之所以被提出,也更多是为了解决这几个问题。 复用可以减少重复造轮子的情况,很容易理解的是,我们经常使用的github上的第三方框架,比如,AFNetworking等,有了这些组件,我们就不需要再写一遍了。 …
算法(5)哈希表
实现数据结构:哈希表。 哈希表可以看作我们经常使用的字典(swift)或对象(js),可以让一个key&value对一一对应,可以快速根据key找到value。 哈希表内部使用数组实现,我们需要将不论任何类型的key计算出与之一一对应的数字来,数字的大小介于0到数组尺寸之间,这…
算法(4)数据结构:堆
实现数据结构:堆。 堆一般使用数组来表示,其中某个节点下标i的两个子节点的下标为 2i+1 和 2i+2。堆是一棵完全二叉树。 堆有3种基本操作:创建,插入,删除。 这3种操作都需要通过“调整堆”的方式来实现。调整堆是指,对堆中的某个节点,若它的值和它所有子节点相比,不是最大/…
算法(3)简单四则运算
四则运算使用“后缀表达式”算法来计算,后缀表达式可以无需考虑运算符优先级,直接从左至右依次计算。 问题分解成2部分,一是将“中缀表达式”(我们正常写的四则运算字符串样式,即我们的输入表达式)转为“后缀表达式”;二是使用“后缀表达式”求值。 依次遍历“中缀表达式”的字符。 若是数…
算法(2)KMP算法
实现KMP算法查找字符串。 “KMP算法”是对字符串查找“简单算法”的优化。 字符串查找“简单算法”是源字符串每个字符分别使用匹配串进行匹配,一旦失配,模式串下标归0,源字符串下标加1。 可以很容易计算字符串查找“简单算法”的时间复杂度为O(m*n),其中n表示源字符串长度,m…
算法(1)斐波那契数列
斐波那契数列最简单的方法是使用递归,递归和查表法同时使用,可以降低复杂度。 根据数列特点,同时进行计算的数值其实只有3个,所以可以使用3个变量循环递进计算结果。 3个变量可以简化为2个变量。
详解AFNetworking的HTTPS模块
文中所涉及的文件和脚本代码请看这里。 AFNetworking(下面简称AF)是一个优秀的网络框架,从事iOS开发工作的同学几乎都用过它。 同时,AF也是一个简单,高效的网络框架。 AF3.0版本(3.2.1)是对NSURLSession的封装。NSURLSession是苹果公…
javascript函数全解
本文总结了js中函数相关的大部分用法,对函数用法不是特别清晰的同学可以了解一下。 同其他语言不同的是,js中的函数有2种含义。 虽然普通函数和构造函数,含义有所不同,可是声明方法却完全一样。 函数表达式和普通函数声明的区别在于,普通函数声明会提升,函数表达式不会提升。 这种使用…
iOS中你可能没有完全弄清楚的(二)自己实现一个KVO源码及解析
前几天写了一篇blog(点这里),分析了系统KVO可能的实现方式。并添加了简单代码验证。 既然系统KVO不好用,我们完全可以根据之前的思路,再造一个可以在项目中使用的KVO的轮子。 代码已经上传到github: https://github.com/hardman/AWSimp…
下一页
个人成就
文章被点赞
359
文章被阅读
80,001
掘力值
1,832
关注了
3
关注者
148
收藏集
0
关注标签
90
加入于
2018-01-11