上一章Objective-C开发教程请查看:Xcode Target、Scheme、Build Settings、Porject和Workspace介绍
这一章我们开始讨论OC的编程内容,首先是了解OC的基本语法,然后介绍OC的数据类型,如果你之前学过其它语言,那么这两个内容可以很容易学会。
Objective-C基本语法
首先看下面的代码:
NSLog(@"Hola, Espanol!");
OC程序由一些列的token组成,例如NSLog是一个token,括号也是一个token。上面的OC代码是一个语句,每个语句以分号;结束。NSLog是一个方法,方法的参数是一个字符串字面量,OC中的字符串使用@加上引号,如@”str”。
Objective-C标识符
标识符用来表示一个变量、函数、类等,OC的标识符和其它语言的标识符命名是一样的,以字母或下划线_开始,后跟一个或多个字母、下划线或数字。OC标识符不允许使用标点字符如@、$等,OC是一个区分大小写的语言,标识符的命名推荐使用驼峰的方式,如:
myName userName myEmail boxHeight imgWidth
Objective-C中的关键字
OC中的保留关键字不能用作自定义的变量名、函数名等,OC中所有的保留关键字如下表:
auto | else | long | switch |
break | enum | register | typedef |
case | extern | return | union |
char | float | short | unsigned |
const | for | signed | void |
continue | goto | sizeof | volatile |
default | if | static | while |
do | int | struct | _Packed |
double | protocol | interface | implementation |
NSObject | NSInteger | NSNumber | CGFloat |
property | nonatomic; | retain | strong |
weak | unsafe_unretained; | readwrite | readonly |
Objective-C数据类型
数据类型是用来限制变量的储存的,变量用于储存数据,而数据类型指定变量该以什么方式储存数据,数据的长度大小等(类似于不同类型的箱子可以装不同数量的书)。数据类型一般用于声明变量、函数返回值、函数参数等。OC的数据类型可分为以下几种:
- 基本数据类型:一般用于算法运算,主要是整数类似和浮点类型,例如int、char、short、long、float、double等。
- 枚举类型:一个枚举类型的变量,一般来说只能取其定义的值之一。
- void类型:空类型,表示没有值,或者可以说是一个超级泛型。
- 派生类型:包括指针类型、数组类型、结构类型、联合类型和函数类型,其中函数的类型指定函数的返回值类型。
Objective-C整数类型
下面介绍OC整数类型的储存大小,以及值范围:
- char:大小为1字节,范围为-128到127,或0到255.
- unsigned char:1字节,0到255.
- signed char:1字节,-128到127.
- int:2或4字节,一般认为是4字节,-32,768到32,767 或 -2,147,483,648到2,147,483,647。
- unsigned int:2或4字节,0到65,535 或 0 到 4,294,967,295。
- long:4字节(应该是8字节),-2,147,483,648 到 2,147,483,647。
- unsigned long:4字节(应为8字节),0 到 4,294,967,295。
我们可以使用sizeof()操作符获取一个数据类型的大小(类型为unsigned long),如sizeof(int)返回4,如果value是一个数组变量,sizeof(value)返回该数组的大小,如果value是一个指针,则返回8,OC使用一个long类型储存指针(C语言使用的是int的长度)。
Objective-C浮点类型
下面是OC中可用的浮点类型:
- float:单精度浮点类型,大小为4字节,从1.2E-38到3.4E+38,精度为6位小数。
- double:双精度类型,大小为8字节,从2.3E-308到1.7E+308,精度为15位小数。
- long double:大小为10字节,从3.4E-4932到1.1E+4932,精度为19位小数。
OC的头文件float.h定义了一些宏定义,允许你使用浮点类型相关的值。
void类型
void类型一般可以在三个地方使用:
- 函数返回值:返回值为void类型的的函数,表示什么值也不返回。
- 函数参数:函数参数为void类型,表示什么参数也没有。
- 作为指针类型:如void *obj,可以作为一个泛型类型使用。
评论前必须登录!
注册