| 
 1.import和include的异同:    1).include和import都是引入头文件.    2).import引入的头文件可以防止重复包含    3).include它是使用预处理指令防止重复包含,如果没有写预处理指令,则无法防止重复包含问题  
2.NSLog和printf的使用差异: 1).NSLog会自动换行,而printf不会自动换行 2).NSLog会自动输出时间等项目信息,printf不会输出调试信息 3).NSLog函数的参数是一个NSString对象,printf是一个字符串常量指针 4).注意: NSLog 不能打印 C的中文字符串,printf不能输出OC的字符串  
3.OC中的注释 注释 给程序员看的,用于程序员之间的交流 注释不参与编译          OC中提供了三种注释:  1) 单行注释 用"//注释内容"  2) 多行注释 用"/* 注释内容 */"  3) 文档注释 用"/** *内容   */"  
 
4.OC中新增的for in (快速枚举) 用法:  
        //定义一个数组         NSArray *arr = @[@"one",@"two",@"ritian"];                  //快速遍历数组         for (NSString *str in arr) {             NSLog(@"%@",str);         }  
  
 5.OC中新增的数据类型       逻辑型:         1) Boolean  (布林) 类型    ----> unsigned char                   用来存储真值(true  非0)或者假值(false  0)            用该类型可以定义新的变量,变量有什么特点?            这个变量就是用来存储真假值的,取值 true false            2) BOOL 类型              也是用来存储真值的(YES  真  1,    NO  假   0)          用BOOL类型也可以定义变量          这个变量就是用来存储真假值的,取值 YES NO  
      Boolean 和 BOOL的区别:       共同点: 都是一种数据类型  ,都可以用来存储真假值       不同点: Boolean 取值 true false   BOOL 取值 是YES NO              Boolean 不能存储负数  ,BOOL 可以存储负数  
 
6.类:        相同属性和行为的一个抽象 由三部分构成: 类名   属性    行为      成员变量(实例变量\属性)  
 
 
       程序中一个类必须:类的声明 + 类的实现  
 
1).类的声明:  
      格式:       @interface 类名 :NSObject       {           //声明类的实例变量(成员变量\属性)           //声明的格式:  数据类型  变量名;          注意:                编程习惯: 类的实例变量要以 下划线 开头  
        }          //声明类的行为 (在@interface 和 @end中间并且在大括号外部)         @end  
2).类的实现:  
      类的实现的作用:  实现 类声明 中声明的行为  
       格式:         @implementation 类名                         //实现类的行为         @end  
3).创建对象  
           格式:   [类名 new];  
  [Car new] 会做三件事情,逐步完成的  
  1) 把类Car加载到内存中(第一次使用的时候加载),并且在内存的堆区开辟一块内存空间  2) 给类的实例变量(成员变量\属性) 进行初始化(把基本数据类型的初始化为 0,给其他类型的nil)  3) 返回刚申请的内存空间的首地址           
  Car *p = [Car new]; 有两种理解方式  
  1) 创建一个 类 类型的指针变量,并且初始化  2) 用Car这个类实例化了一个对象,对象名是 p  
4).获取对象的属性值:
  
格式: 对象名 -> 实例变量名; (要求实例变量必须是public类型)  
  
 
 |