随笔分类 -  OC语言基础

摘要:1) NSArray :不可变数组 NSMutableArray : 可变数组2) OC数组只能存放OC对象,不能存放非OC对象类型,比如int、struct、enum等。 OC数组不能存放nil值3) NSArray的创建 NSArray *array1 = [NSArray arrayWithO... 阅读全文
posted @ 2014-10-13 11:09 coderkl 阅读(86) 评论(0) 推荐(0)
摘要:1) NSString : 不可变字符串 NSMutableString : 可变字符串,是NSString的子类。2) 创建方式 NSString *s1 = @”itcast”; NSString *s2 = [NSString stringWithFormat:@"My age is%d an... 阅读全文
posted @ 2014-10-13 10:19 coderkl 阅读(110) 评论(0) 推荐(0)
摘要:1) NSRange(location length)例:@”I LOVE OC” 中 LOVE范围可表示为(location=2 length=4)NSString *str = @”I love oc”;NSRange range = [str rangeOfString:@”love”];或者... 阅读全文
posted @ 2014-10-13 09:25 coderkl 阅读(165) 评论(0) 推荐(0)
摘要:1. 所有的预处理指令都是以#开头。2. 预处理指令分3种: 1)宏定义 2)条件编译 3)文件包含3. 预处理指令在代码翻译成0和1之前执行。4. 预处理的位置是可以随便写的。5. 预处理指令的作用域:从编写指令的那一行开始,一直到文件结尾,可以用#undef取消宏定义的作用。6. 宏名一般用大写... 阅读全文
posted @ 2014-10-11 16:20 coderkl 阅读(299) 评论(0) 推荐(0)
摘要:1. 指针使用机器的全字长2. 指针加/减小整数表示在内存空间向下或向上移动,移动的单位是其基类型的长度。3. int *p1; int *p2; p2-p1等于两个元素下标之差。4. a[i][j]——*(a[i]+j)——*(*(a+i)+j)5. 指向函数的指针 int (*p)(int, i... 阅读全文
posted @ 2014-10-11 16:01 coderkl 阅读(132) 评论(0) 推荐(0)
摘要:1. 如果没有明确声明返回值类型,默认返回值类型是int。2. 函数的形参也是局部变量。3. 默认情况下不允许两个函数名称一样(不支持重载)。4. 函数不能嵌套定义。5. 函数不能重复定义,但是可以重复声明。6. 函数声明只需在调用函数前就行,位置不限。7. 如果有函数的声明没有函数的定义,编译也可... 阅读全文
posted @ 2014-10-11 15:48 coderkl 阅读(188) 评论(0) 推荐(0)
摘要:1. OC程序运行过程 1) 编写OC源文件:.m、.c 2) 编译:cc -c xxx.m xxx.c 3) 链接:cc xxx.o xxx.o -framework Foundation (只有用到了Foundation框架才需要加上-frameworkFoundation) 4) 运行:.... 阅读全文
posted @ 2014-08-17 20:33 coderkl 阅读(937) 评论(0) 推荐(0)
摘要:性能优化篇1. 代码中使用代码块可以及时回收不再使用的变量,提高性能。 变量的作用域从定义变量的那一行代码开始,一直到所在代码块结束。2. 带参数的宏定义效率比函数高。简单的运算可以用宏定义来完成。3. 当一个函数被调用很多次,而且函数中某个变量值是不变的, 应该将此变量声明为static(只会分配... 阅读全文
posted @ 2014-08-14 23:44 coderkl 阅读(2255) 评论(0) 推荐(1)
摘要:1. 基本用途 1) 可以用来声明一大堆方法(不能声明成员变量) 2) 只要某个类遵守了这个协议,就相当于拥有这个协议中的所有方法声明 3) 只要父类遵守了某个协议,就相当于子类也遵守了2. 协议的编写 @protocol 协议名称 // 方法声明列表 @end3. 某个类遵守协议 @inter... 阅读全文
posted @ 2014-08-14 23:15 coderkl 阅读(176) 评论(0) 推荐(0)
摘要:1. Block封装了一段代码,可以在任何时候执行。官方建议尽量多用block。2. 如何定义block变量 int (^sumBlock)(int, int); void (^myBlock)();3. 如何利用block封装代码 ^(int a, int b) { return a- b;... 阅读全文
posted @ 2014-08-14 23:09 coderkl 阅读(199) 评论(0) 推荐(0)
摘要:1. ARC是编译器特性,而不是 iOS 运行时特性,它也不是类似于其它语言中的垃圾收集器。 因此 ARC 和手动内存管理性能是一样的,有时还能更加快速,因为编译器还可以执行某些优化。2. 指针分2种: 强指针:默认情况下,所有的指针都是强指针 __strong 弱指针:__weak3. ARC的判... 阅读全文
posted @ 2014-08-14 22:55 coderkl 阅读(215) 评论(0) 推荐(0)
摘要:1. 要想手动调用retain、release等方法,在创建项目的时候不要勾选ARC 开启Xcode僵尸对象监控功能。2. 管理范围: 任何继承了NSObject的对象,对其他基本数据类型(int、char、float、double、struct、enum等)无效3. 对象的引用计数器 ... 阅读全文
posted @ 2014-08-14 17:47 coderkl 阅读(122) 评论(0) 推荐(0)
摘要:1. MacOS快捷键 command + c 复制 command + v 粘贴 command + w 关闭当前窗口 command + q 关闭所有窗口 Xcod快捷键 command + r 运行 command + b 编译 #pragma mark - target代码中做标记2. 编译... 阅读全文
posted @ 2014-08-14 16:17 coderkl 阅读(112) 评论(0) 推荐(0)
摘要:1. #import的用途: 跟#include一样,拷贝文件的内容 可以自动防止文件的内容被重复拷贝2. OC程序的编译连接 编译: cc–c 文件名.m 链接: cc 文件名.o -frameworkFoundation3. OC中所有的对象都要通过指针来访问。4. 所有变量类型都必须用 (... 阅读全文
posted @ 2014-08-14 15:52 coderkl 阅读(149) 评论(0) 推荐(0)
摘要:1. C语言支持所有整型数据类型的有符号和无符号运算,尽管C语言标准并没有指定用哪种方式来表示有符号整数,但是几乎所有的 机器都使用补码。2. C语言中默认的整形数据是有符号的,并且允许无符号数和有符号数之间进行转换。转换的原则是底层的位保持不变。3. 执行运算时,如果一个运算数是有符号的而另一... 阅读全文
posted @ 2014-08-14 07:53 coderkl 阅读(2530) 评论(0) 推荐(0)