09 2017 档案

摘要:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解 阅读全文
posted @ 2017-09-28 21:59 黄增松 阅读(2227) 评论(0) 推荐(0) 编辑
摘要:总得来说: 1.+load方法是在main函数之前调用的; 2.遵从先父类后子类,先本类后列类别的顺序调用; 3.类,父类与分类之间的调用是互不影响的.子类中不需要调用super方法,也不会调用父类的+load方法实现; 4.无论该类是否接收消息,都会调用+load方法; 总得来说: 1.+init 阅读全文
posted @ 2017-09-24 21:49 黄增松 阅读(515) 评论(0) 推荐(0) 编辑
摘要:二分查找(也称折半查找)是很常见的一种在数组中查找数据的算法,作为一名程序员是应该必须会的。它的基础思想:获取数组的中间值,将数组分割成两份,利用查找的值跟中间值进行比较,如果查找的值大于中间值,就在数组的右边进行查找;如果查找的值小于中间值,就在数组的左边进行查找。如此循环的执行下去,最终找到符合 阅读全文
posted @ 2017-09-23 23:10 黄增松 阅读(1049) 评论(0) 推荐(0) 编辑
摘要:每条线程都有唯一的一个RunLoop对象与之对应的 主线程的RunLoop是自动启动 子线程的RunLoop需要手动启动 子线程的RunLoop启动步骤如下: 获得RunLoop对象后要调用run方法来启动一个运行循环 // 启动RunLoop [[NSRunLoop currentRunLoop] 阅读全文
posted @ 2017-09-22 12:27 黄增松 阅读(2253) 评论(0) 推荐(0) 编辑
摘要:快速排序(Quicksort)是对冒泡排序的一种改进。 快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以 阅读全文
posted @ 2017-09-20 23:26 黄增松 阅读(1519) 评论(0) 推荐(0) 编辑
摘要:UIView显示在屏幕上归功于CALayer,通过调用drawRect方法来渲染自身的内容,调节CALayer属性可以调整UIView的外观,UIView继承自UIResponder,比起CALayer可以响应用户事件,Xcode6之后可以方便的通过视图调试功能查看图层之间的关系 UIView是iO 阅读全文
posted @ 2017-09-13 17:04 黄增松 阅读(996) 评论(0) 推荐(0) 编辑
摘要:KVO是基于runtime机制实现的 当某个类的属性对象第一次被观察时,系统就会在运行期动态地创建该类的一个派生类(该类的子类),在这个派生类中重写基类中任何被观察属性的setter 方法。派生类在被重写的setter方法内实现真正的通知机制 如果原类为Person,那么生成的派生类名为NSKVON 阅读全文
posted @ 2017-09-13 16:28 黄增松 阅读(1202) 评论(0) 推荐(0) 编辑
摘要:因为父类指针可以指向子类对象,使用 copy 的目的是为了让本对象的属性不受外界影响,使用 copy 无论给我传入是一个可变对象还是不可对象,我本身持有的就是一个不可变的副本. 如果我们使用是 strong ,那么这个属性就有可能指向一个可变对象,如果这个可变对象在外部被修改了,那么会影响该属性. 阅读全文
posted @ 2017-09-13 15:09 黄增松 阅读(1011) 评论(0) 推荐(0) 编辑
摘要:1.对应基本数据类型默认关键字是 atomic,readwrite,assign 2.对于普通的 Objective-C 对象 atomic,readwrite,strong 阅读全文
posted @ 2017-09-13 14:49 黄增松 阅读(1036) 评论(0) 推荐(0) 编辑
摘要:数组和链表都属于线性表 数组: 在内存中,数组是一块连续的区域。 数组需要预留空间,在使用前要先申请占内存的大小,可能会浪费内存空间。 通过下标读取,查找数据时效率高。 不利于扩展,数组定义的空间不够时要重新定义数组。 链表: 内存中可以存在任何地方,不要求连续。 每一个数据都保存了下一个数据的内存 阅读全文
posted @ 2017-09-12 16:22 黄增松 阅读(8667) 评论(1) 推荐(0) 编辑
摘要:历史由来: 接触iOS的人都知道,@property声明的属性默认会生成一个_类型的成员变量,同时也会生成setter/getter方法。 但这只是在iOS5之后,苹果推出的一个新机制。看老代码时,经常看到一个大括号里面定义了成员变量,同时用了@property声明,而且还在@implementat 阅读全文
posted @ 2017-09-12 09:53 黄增松 阅读(14094) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示