#pragma mark - 01 OC语言的历史[了解] 
此知识点复习参考OC基础01视频笔记/01 OC语言的历史.pdf 
 
1.C是面向过程:一步一步自己弄 
 
2.OC是面向对象:只有一个方法 
 
#pragma mark - 02 OC语言的发展现状 [了解] 
此知识点复习参考OC基础01视频笔记/02 OC语言的发展现状.pdf 
#pragma mark - 03 OC的未来 [了解] 
 
#pragma mark - 04 基础班学习目标 [掌握]  
 
1.OC简单,语法简单 
 
 
2.OC 是面向对象,养成一个习惯,从面向过程到面向对象的思维转变 
 
 
3.代码量特别大,要求 "第一 回去课上代码一定写一遍 
                "第二 自己想一些对象,然后写代码 
 
"基础班学习目标 
1."重点学习"面向对象编程的语法  "万丈高楼平地起 
2."初步"建立面向对象的思维     "面向对象的思维是比较复杂和高深的思想,不可能13天的OC学习就能完全掌握 
3.具备"初级的"项目分析"能力"   "上课过程中会穿插一些开发的例子,逐步锻炼大家的能力 
 
#pragma mark - 05 第一个OC程序 [掌握] 
 
1.C语言源文件 xxx.c  OC中源文件 xxx.m 
 
2.在C语言中 我们用printf打印信息,OC中用 NSLog()来打印信息 
 
 
#pragma mark - 06 OC的源文件后缀名和main函数[听懂] 
 
1.OC的源文件后缀名: xxx.m m代表message OC的消息机制 
 
 
2.main函数 也C语言中的main函数功能一样,程序的入口和出口 
#pragma mark - 07 #import指令 [掌握] 
 
#import 是 #include的增强版 
 
1.#import指令? 
    OC中 引入头文件的预处理指令 
 
2.在C语言中 多次 #include <"文件名"> 不会有问题 
    #ifndef xxx_h 
    #define xxx_h 
    #include "头文件.h" 
    #endif 
    因为C中 通过条件编译指令,来防止了重复包含 
    在OC中 #import指令 不需要条件编译来防止重复包含 
3.格式 
    #import "自己的文件" 
    #import <系统提供的文件> 
 
 
 
 
 
 
 
 
#pragma mark - 08 Foundation框架简要介绍 [听懂] 
 
 
1.框架:类似于 C语言中库文件(#include <stdlib.h>) 
 
2.Foundation框架:OC中的一个特别重要的基础框架 
 
3.第三方框架: 
    除了自己和apple以外的公司或者个人提供的封装好功能的文件或者文件夹 
    我们开发过程中 会经常用到第三方框架,目的让我们写代码更简单 
 
4. 在OC源代码文件main.m中下面这句代码的作用 
    创建新的工程command + shitf + n 
    #import <Foundation/Foundation.h> 
    而是把Foundation框架中的所有文件 都引入进入 
 
5.Foundation 文件夹 在哪个地方 
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/Foundation.h 
 
#pragma mark - 09 NSLog函数 [掌握] 
 
NSLog函数 是 printf函数的增强 
 
1.NSLog函数 具有和printf函数基本上一样的功能 
 
 
2.NSLog函数 打印C中的字符串的时候纯英文 没有问题,但是不能有中文 
 
 
3.打印基数据类型 一些常量 变量 都是一样 
 
4.增强体现在什么地方? 
    2016-08-14 10:28:03.946 day01课上代码[7550:655818] name = abdcef 
    4.1>自动智能换行:如果输出时 不加'\n',会自动换行,如果想多换行,那么必须是两个'\n' 
 
    4.2>输出一些状态信息 
        输出时间信息,精确到毫秒    " 2016-08-14 10:28:03.946 
        输出当前的Target名字       "day01课上代码 
        [7550:655818]  "[进程号:线程] 
5.NSLog函数的格式 
    NSLog(@"格式控制字符串",要打印的变量或者常量); 
    NSLog函数还可以打印 OC中特有的一些数据类型 
 
#pragma mark - 10 NSString字符串 [掌握] 
 
 
1.OC中的字符串的写法 
    "abcd" C语言中字符串 
    @"abcd" OC中的字符串 
 
 
2.在OC中有一个专门类型用来保存 OC中字符串的类型 
 
    NSString * str = @"abcdef"; 
 
3.如何打印OC中的字符串 
    要打印一个OC的字符串 用占位符 %@ 
 
#pragma mark - 11 OC的其他基础语法[掌握] 
 
1.在OC中有大量的名字 都是以NS开头的 
 
2.@符号的作用: 
    2.1> 在C字符串前加@ 是它变成OC的字符串 
 
 
    2.2>OC中新增的关键字 大部分都是以@开头 
        @interface 
        @implementation 
        @end 
 
3.注释:OC注释和C注释完全一样 
 
 
4.OC中定义C函数的方式和语法一模一样 
#pragma mark - 12 OC程序的编译链接流程[听懂] 
 
1.创建文件 xxx.m   写代码 
2.编译 ---> cc -c xxx.m 
3.链接 ---> cc xxx.o -framework Foundation 
 
 
4.运行 ./a.out 
 
 
 
 
5. 和C程序各个阶段的文件后缀名对比. 
 
        源文件     目标文件       可执行文件 
C语言   .c        .o             .out 
OC语言  .m        .o             .out 
 
补充: 
    删除某一个文件命令行 rm 文件名1 文件名2 
 
 
#pragma mark - 13 BOOL类型变量 
 
"OC 支持C语言中所有的数据类型 
 
1.C语言中数据类型 
    1>基本数据类型 
 
    2>构造类型 
 
    3>指针类型 
 
    4>空类型void 
 
    5>typedef定义的数据类型 
 
2.OC中特有的数据类型 
    1>BOOL类型 
 
    2>Boolean类型 
 
    3>Class 类型 
    4>nil 
    5>SEL类型 
    6>block类型 
 
3.BOOL类型 
    1>本质: 
       typedef signed char BOOL; 
 
    2>赋值: 
    BOOL rel = YES/NO; 
    一般来说 BOOL 类型的变量 来表示一个条件表达式的值 
 
    3>意义: 
        YES 代表真的 NO代表假的 
    BOOL 布尔类型 也可以写成bool 
 
 
4.举例:写一个函数 判断 一个数是否为偶数 
 
    BOOL panDuan(int num) 
    { 
        //判断 num是不是偶数 
        if (num %2 == 0) { 
            return YES; 
        }else { 
            return NO; 
        } 
         
    } 
 
 
#pragma mark - 14 Boolean类型[掌握] 
 
1.本质: 
    typedef unsigned char  Boolean; 
2.赋值: 
    Boolean rel = true/false; 
 
3.意义: 
    true 代表真 false 代表假 
4.BOOL 和  Boolean 
 
 
 
 
 
 
#pragma mark -14 OC新增的数据类型[听懂] 
 
1>Class 类型 
    类  类型 
 
2>nil 
    和C语言中的NULL 很相似 
3>SEL类型 
    这个类型变量 可以保存一个方法 
4>block类型 
    这个类型的变量 可以保存一段代码 
 
 
================NSLog和#import,OC编译连接运行,Boolean和BOOL类型================ 
 
#pragma mark -15 OC和C的对比[运算和控制语句以及构造类型] 
 
1.运算符 
    算术:+-*/% 
    比较运算符:> < >= <= == != 
    逻辑运算符:&& || ! 
    按位运算符: & | ^ ~ << >> 
    特殊运算符: =  ++ -- ?: sizeof 
    复合赋值运算符:+= -= *= /= %= 
 
2.控制语句和构造类型 
    if switch 
    while for do...while 
    增强for循环 
 
    数组 
    结构体 
    枚举 
 
 
3.关键字 
    @interface 
    @implementation 
    @end 
    @public 
    @protected 
    @private 
 
 
4.OC中相对于C的优点 
    a.OC是基于C,增加一些面向对象的语法 
    b.让C语言的一些复杂,繁琐的操作 变得简单 
 
 
#pragma mark -16 面向过程与面向对象[掌握] 
 
OOP:面向对象编程 
Object Oriented Pragramming 
 
洗衣服: 
面向过程的思想 
1)脱衣服 
2)洗衣机门打开 
3)放进衣服 
4)关门 
5)插电 
6)加水 + 加洗衣粉 
 
7)拿出来, 
8)抖抖(防止起皱) 
面向过程:强调步骤,每一个都要亲力亲为 
 
面向对象的思想: 
1)找一个对象(会洗衣服) 
2)衣服一脱一丢 
3)对象洗衣服 
面向对象:强调干这件事的人 
 
菜鸟买电脑 
 
面向过程: 
1.百度那个电脑好 
2.看黄历,1月1日好日子 
3.打开百度地图 
4.公交东站等车 
5.坐上公交,发现公交上一妹子很好看 
6.看着大腿 坐过站了 
 
7.打车回来 
 
8.进去中关村1看,满大楼的买电脑 
9.挑一家好的,挑了服务员腿最长的 
10.有一种电脑  |   
        
 
    
    
    
     
 
 |