Objective -C基础语法预览
1、关键字
oc语法中,大部分的关键字都是以@开头的,例如:@interface、@implementation、@public、@private、@protected
也存在部分不以@开头的关键字,例如:self、super等
tips:OC语言兼容C语言以及C++。如果关键字不以@开头,无法区分。
2、字符串
OC语言中,字符串也是以@开头的,区别于C语言。例如:@“hello world”和“hello world”是两个不同语法系列的字符串,第一个是OC语言,第二个是C语言或者其他面向对象语言。
3、其他
OC语言是从C语言中衍生出来的,兼容所有的C语言语法规范。
相对于C语言,OC新增的一些内容:
(1)BOOL类型
OC语言中,BOOL类型取值为YES/NO。大小写不能忽略。
(2)nil类型
OC语言中,nil类型相当于C语言的NULL类型,也就是0
(3)屏幕输出
①OC语言兼容C语言的屏幕输出
printf(“this is a test %d”,a);
②新增NSLog
头文件为:<Foundation/NSObjCRuntime.h>
NSLog(@“this is a test %d”,a);
注意:NSLog只支持OC字符串,不支持C语言字符串,支持自动换行。
开发过程
1、编写源文件
OC语言源文件为.m文件,可直接兼容C语言语法。另外,可通过将源文件后缀改为.mm文件来兼容C++文件。
2、编译
检查语法错误
cc -c firstapp.m
3、链接
将项目中的所有相关的.o目标文件和C语言函数库合并,生成可执行文件。
注意,默认是C语言函数库,不是OC语言函数库。
cc firstapp.o //默认将C语言函数库合并
cc firstapp.o -framework Foundation //将OC语言的Foundation框架链接合并
注意,可将整个过程合并进行
cc firstapp.m secondapp.m -framework Foundation
编写 | 编译 | 链接 |
源文件 .m | 目标文件 .o | 可执行文件 a.out |
第一个OC程序
(1)OC程序跟C语言等其他语言一样,入口函数也是main函数
(2)import用途
①拷贝文件内容:拷贝头文件
②防止文件内容被重复拷贝
例如:NSLog函数声明位于Foundation/NSObjCRuntime.h文件中
每个框架都有很多头文件,每次只需要引用框架中的主头文件即可,主头文件跟框架名一样
#import <Foundation/Foundation.h>
BOOL类型
BOOL类型,平常使用的时候当做int整型处理,在实际头文件中,BOOL类型的实际定义如下
typedef signed char BOOL
也就是说,BOOL类型实际上是char类型,但是输出的时候,当做整型使用,YES表示1,NO表示0
发表评论