(一)OC的简介
OC语言的全名是Object-C编程语言,在程序员的领航里,我们通常简称为OC语言,那么,提到OC语言,他到底是什么样的一门语言呢?OC语言是基于C语言基础上,在进行了一次更高级的封装的一门语言,它的底层实现是基于C语言的,所以,OC语言完全兼容C语言,并且在OC语言代码中,你可以根据需要混编C、C++语言代码。可以使用OC开发mac osx平台和ios平台的应用程序。OC语言是一门面向对象的高级语言,而C语言是面向对象的一门语言。
(二)OC语言基本语法介绍
一、关键字
基本上所有的关键字都是以@开头的(为了与C语言的关键字区分开来),如@interface @implementation @public等,少部分没有以@开头,如id,_cmd等。如图
二、OC字符串与C字符串
OC语言中的字符串都以@开头,写法是@"Hello";而C语言中的字符串写法是"Hello";当然在赋值的时候也是有点区别的。
三、OC其他语法的的介绍
基本类型:5中基本类型,针对C语言来说,在此基础上增加了Bool类型。
Nil相当于是null,也就是0。
输出函数:在C语言使用printf函数输出,OC语言中用NSlog输出,并且自动换行。
(三)OC创建文件
在C语言中,我们创建一个源文件的时候,源文件的后缀是.c/.cc,而OC语言中,我们创建的一个源文件包括.h和.m/.mm文件。
在OC中,常用#imporot来引用投文件,而在C语言我们经常用#include。那么,这两者之间是不是有区别呢?
(1)#imporot指令是Object-C针对#include的改进版本,#import确保引用的文件只会被引用一次,这样就不会陷入递归包含的问题中。
(2)#import与@class二者的区别在于:
#import会链入该头文件的全部信息,包括实体变量和方法等;而@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,暂时不用考虑。在头文件中, 一般只需要知道被引用的类的名称就可以了。
不需要知道其内部的实体变量和方法,所以在头文件中一般使用@class来声明这个名称是类的名称。 而在实现类里面,因为会用到这个引用类的内部的实体变量和方法,所以需要使用#import来包含这个被引用类的头文件。
如#import<foundation/foundation.h>
运行过程如下:
(1)编写OC源文件 .m .c
(2)编译文件 cc -c xx.m xxx.c
(3)链接 cc xx.o xxx.o -framework Foundation
(4)运行 ./a.out