OC也叫面向对象c,在c语言的基础上增加了一层最小的面向对象语法
特点:
1、完全兼容C语言
2、可以在OC代码中混入C语言代码,甚至是C++代码,不是任何源文件代码都能写c++代码,要把拓展名改一改才可以写
3、可以在OC开发 Mac OS X平台和IOS平台的应用程序
4、.c只能写C语言代码,.m能写OC代码,也能写C语言代码,要写C++代码就要写.MM
OC语法预览
1.关键字
基本上所有关键字都是以@开头,少部分不是以@开头
2.字符串以@开头
比如@"HELLO"是OC字符串,"HELLO"是C语言字符串,用的最多的是OC字符串
3.其他语法
在C语言的基础上增加一个BOOL类型两个取值,一个是YES一个是NO
C语言中:
p = NULL NULL就是0
OC中:
nil相当于C语言中的NULL,也就是0
屏幕输出
NSlog(@"HELLO");
编译: 把代码编译成0跟1
链接:是把项目中相关联的.o目标文件跟C语言函数库合并在一起生成可执行文件
OC程序开发
1、 .m文件 ->.o文件->可执行文件
2、OC程序的入口也是main函数,跟C语言一样的
一、#import的用途
1> 跟#include一样,拷贝文件的内容
2> 可以自动防止文件的内容被重复拷贝
二、#import
NSObjCRuntime.h中有NSLog函数的声明
三、主头文件
1> 主头文件:最主要的头文件,名字一般跟框架名称一样,包含了框架中的所有其他头文件
2> Foundation框架的主头文件名称就是Foundation.h
3> 只需要包含Foundation框架主头文件,就可以使用整个框架的东西
4> OC只能学Foundation框架,每一个框架有有字节的主头文件,最主要的文件,每个主头文件都跟名字一样
总结
一、运行过程
1> 编写OC源文件:.m、.c
2> 编译 cc-c xxx.m xxx.c
3> 链接 :cc xxx.o xxx.o -framework Foundation
(只有用到了Foundation框架才需要加上-framework Foundation)
4> 运行:./a.out
OC是完全兼容C语言的
二、BOOL完全可以看做是整型
1> 只能写大写
2> YES就是1,NO就是0
三、BOOL类型的本质
1、比如:typedef signed char BOOL; BOOL 其实就是char
2、BOOL类型的变量值有两种取值:YES、NO输出用%d
3、(BOOL)1是强转,把BOOL类型转成了1
#define YES (BOOL)1 把代码中所有YES都换成了1
#define NO (BOOL)0把代码中的所有NO都换成了0
4、输出验证
NSLog(@"%d,%d",YES,NO);