OC源文件后缀名
OC源文件后缀名是.m,m代表OC中最重要的一个机制:消息机制
#import指令
- a. 以#开头,是一个预处理指令
- b. 作用:#include指令的增强版,将文件的内容在预编译的时候拷贝写指令的地方
- c. 增强:同一个文件无论#import多少次,只会包含1次
如果#include指令要实现这个效果就必须要配合条件编译指令
来实现,而#import指令只需要直接包含即可,其他什么都不用
做 - d. 简要原理:#import指令在包含文件的时候,底层会先判断这个文件是否被包含,如果被包含,就会略过
框架
- a. 是一个功能集,苹果或者第三方事先将一些开发程序的时候常用的功能先写好,把这些功能封装在1个类或者函数中这些函数和类的合集就叫做框架
- b. Foundation框架
Foundation:基础基本,这个框架提供了最基础的功能,输入和输出,,一些数据类型
@autoreleasepool
@autoreleasepool是自动释放池,代码写在自动释放池中,也可以删了自动个释放池,不会有任何影响
NSLog函数
- a. 作用:是print函数的增强版,向控制台输出信息
- b. 语法:NSLog(@”格式控制字符串”, 变量列表);
- c. 增强:输出调试相关信息
会自动换行,在输出完信息后会自动换行
OC和C的数据类型变量的值都可输出 - d. 用法和printf差不多,占位符用法一样
- e. 使用注意:NSLog函数第一个参数前一定要加一个@符号
字符串末尾加了\n表示换行,那么函数的自动换行功能会失效
字符串
- a. NSString类型的指针变量专门用来存储OC字符串的地址
- b. OC的字符串常量必须要使用1个前缀@符号:@”abc”
- c. NSString类型的指针变量只能存储OC字符串的地址
NSString *str = @”abcd”;
NS前缀
NextStepCocoaFoundation框架之中
@符号
- a. 将C字符串转换为OC字符串
- b. OC中绝大部分关键字都是以@开头
注释
//、/**/
OC程序的编译、链接、执行
- a. 在.m文件中写上符合OC语法规范的源代码
- b. 使用编译器将源代码编译为目标文件
ls -l
cc –c XXX.m - c. 链接:cc XXX.o
如果程序中使用到了框架中的函数或类,在连接的时候就必须
要告诉编译器去那个框架中找这个函数或类
cc XXX.o – framework 框架名称
OC中的数据类型
- a. OC支持C的所有数据类型
- b. Bool类型:可存YES和NO任意一个数据、
一般情况Bool用类存储表达式的结果,如果条件
表达式成立就是YES、
Bool本质上是一个有符号的char变量 - c. Boolean类型:true或false
- d. class类型:类
- e. id类型
- f. nil类型:与NULL差不多
- g. SEL方法选择器
- h. block代码段