摘要: block 1)用来保存一段代码 2)block的标志:^ 例子: int sum(int a, int b){ return a+b; } int (*p)(int, int) = sum; int (^sumblock)(int, int) = ^(int a, int b){ return a 阅读全文
posted @ 2015-07-24 19:38 do+better 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 一.分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法使用注意:1)分类只能增加方法,不能增加成员变量2)分类方法实现中可以访问原来类中声明的成员变量3)同名方法,分类的优先级最高(方法重构,覆盖原类中方法)4)方法调用优先级:分类—>原类—>父类(后编译的会覆盖先编译的(.h文件不编译)... 阅读全文
posted @ 2015-07-24 19:37 do+better 阅读(188) 评论(0) 推荐(0) 编辑
摘要: SEL s2 = @selector(eat:);[ani performSelector:s2 withObject:@"一块沾有粑粑的棒棒糖"];[ani performSelector:@selector(eat:andFoodName:)withObject:@"班长养的恶狗"withObj... 阅读全文
posted @ 2015-07-24 19:36 do+better 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 点语法:对象.属性名注意:此时并不是直接访问实例变量,而是xcode看到点语法后,会自动替换成[p setAge: 18]方法, 当出现在左侧时则替换为[p age]的get方法不能使用self.age会出现死循环20)@property:@property是编译器的指令,告诉编译器声明属性的访问器... 阅读全文
posted @ 2015-07-24 19:35 do+better 阅读(222) 评论(0) 推荐(0) 编辑
摘要: [Person new] 做了三件事: 1)申请内存空间 2)给实例初始化 3)返回空间首地址 实例变量保存在堆区``指针(对象名)保存在栈区 对象方法保存在代码区 调用方法先找到p所指向的堆区的指针—isa然后再找到isa所指向的代码区的方法 对象方法只能由对象来调用,类方法只能由... 阅读全文
posted @ 2015-07-24 19:34 do+better 阅读(227) 评论(0) 推荐(0) 编辑
摘要: oc小知识点:在c语言中汉子占三个字节oc中汉子和字符都是一个字节#include 和 #import 区别wimport 可以防止重复包含Foundation 把oc的库文件都包含过来@autoreleasepool 自动释放池NSLog 会自动换行NSLog 会自动输出时间项目信息NSLog 传... 阅读全文
posted @ 2015-07-24 19:33 do+better 阅读(160) 评论(0) 推荐(0) 编辑
摘要: static和extern:static修饰变量(可以修饰局部变量),只有包含那个变量定义的源代码文件可以访问(内部变量)延长局部变量的生命周期,从程序启动到退出作用:static定义的变量作用域会延长 static定义变量的语句只会被执行一次extern定义的变量哪个源文件都可以使用,只要声明... 阅读全文
posted @ 2015-07-24 19:31 do+better 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 结构体:结构体初始化顺序:先定义结构体,后初始化定义结构体时同时初始化匿名自定义初始化结构体计算结构体在内存中的内存占用的字节数:先找对齐模数,是结构体中的基本数据类型占用字节数最大的那个如果剩下的可以存的下则存,如果存不下则重新分配如果局部结构体和全局结构体重名则覆盖全局结构体结构体指针:stru... 阅读全文
posted @ 2015-07-24 19:29 do+better 阅读(306) 评论(0) 推荐(0) 编辑
摘要: const: 编译器通常不为普通的const分配内存,而是将它们保存在符号表中, 这使它成为编译期间的常量,没有存储和读取操作,使它的效率也很高 const int * const p4 = &a; const int * p4 = &a; int * const p4 = &a; ... 阅读全文
posted @ 2015-07-24 19:26 do+better 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 1)c语言字符串:#include #include int main(int argc, char *argv[]) { char ch[] = {'a', 'b', 'c', '\0'}; char ch1[] = {'x', 'y', 'z'}; printf("%s\n", ch1);... 阅读全文
posted @ 2015-07-24 19:24 do+better 阅读(290) 评论(0) 推荐(0) 编辑