摘要: 常规算法: 升级算法: 阅读全文
posted @ 2016-11-03 00:37 ys123456789 阅读(362) 评论(0) 推荐(0)
摘要: 1、KVO是基于Runtime机制实现的; 2、当某个类的对象的某个属性第一次被观察时,系统会在运行期间动态地创建该类的一个派生类,在这个派生类中重写基类的任何被观察属性的setter方法,派生类在被重写的setter方法内实现真正的通知机制; 3、如果原类为Person,那么生成的派生类名为NSK 阅读全文
posted @ 2016-11-01 21:12 ys123456789 阅读(573) 评论(0) 推荐(0)
摘要: 由于知识点比较简单,这里不再陈述一大堆的原理,直入主题。 KVC中的集合运算符有以下三类: 1、简单集合运算符:@avg、@sum、@max、@min、@count (只能用在集合对象中,对象属性必须为数字类型) 2、对象操作符: @unionOfObjects:返回指定属性的值的数组,不去重 @d 阅读全文
posted @ 2016-10-30 23:14 ys123456789 阅读(2109) 评论(1) 推荐(0)
摘要: 定义:一个类的对象,无论在何时创建、无论创建多少次,创建出来的对象都是同一个对象。 使用场景:当有一些数据需要共享给别的类的时候,就可以把这些数据保存在单例对象中。 关键代码: + (instancetype)allocWithZone:(struct_NSZone *)zone { static 阅读全文
posted @ 2016-08-03 20:47 ys123456789 阅读(266) 评论(1) 推荐(0)
摘要: 栈区 1、从高地址向低地址分配; 2、存储局部变量,函数结束立即释放。 堆区 1、从低地址向高地址分配; 2、允许程序员手动向堆区申请空间,用完需手动释放。常用函数:malloc(申请) calloc(申请) realloc(扩容) free(释放) 3、OC对象也是在堆区存储的。 BSS段 存储未 阅读全文
posted @ 2016-06-08 13:48 ys123456789 阅读(253) 评论(0) 推荐(0)
摘要: '\0'-------0 0---------48 A---------65 a---------97 阅读全文
posted @ 2016-06-08 12:37 ys123456789 阅读(264) 评论(0) 推荐(0)
摘要: sizeof(a)的值是16。 分析:char c1占用1个字节 int i占用4个字节,c1不是i的整数倍,所以c1对齐为4个字节 (c1 + i)占用8个字节 short s占用2个字节 (c1 + i) 是s的整数倍,所以i不用对齐 (c1+ i + s)占用10个字节 int j占用4个字节 阅读全文
posted @ 2016-06-08 12:07 ys123456789 阅读(129) 评论(0) 推荐(0)
摘要: 1、创建c文件 touch demo.c 2、编辑c代码 3、编译(预编译、检查语法、编译)、链接 3.1、指令:cc -c demo.c 正常情况下,会生成一个demo.o的二进制文件(即:目标文件) 3.2、指令:cc demo.o 给demo.o添加启动代码并进行链接,生成可执行文件a.out 阅读全文
posted @ 2016-06-08 09:55 ys123456789 阅读(534) 评论(0) 推荐(0)
摘要: 1、善于写变量作用域,不用的变量及时释放掉 { int a = 0; //一系列操作 }//执行到这里的时候,大括号里的a就被释放了 2、前自增自减要比后自增自减效率稍微高一点 ++i 效率> i++ --i 效率> i-- 3、if(条件表达式) a、这里的条件表达式可以先计算出来,得到一个结果, 阅读全文
posted @ 2016-05-16 12:21 ys123456789 阅读(489) 评论(0) 推荐(0)
摘要: 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 -- () 圆括号 (表达式)/函数名(形参表) -- . 成员选择(对象) 对象.成员名 -- -> 成员选择(指针) 对象指针->成员名 -- 2 - 负号运算符 -表达式 右到左 单目运算符 阅读全文
posted @ 2016-05-16 12:16 ys123456789 阅读(174) 评论(0) 推荐(0)