int i = 0;
float i = 0.1;
doublle i = 0.1;
char i = 'A';
OC同时支持C语言的字符串
'C语言字符串'
NSSting: @"OC字符串"
变量名是大小写敏感的
限定词
用于对变量限定内存分配大小,关键词如下
long、long long、short、unsigned、signed
// 原本int是32位,通过限定词,扩展为64位,能存放更大的数据,long long同理
long int i
// 如果你只想存个状态码,不需要太大的整数,可以使用short,会得到16位的int变量
short int i
unsigned和signed代表有没有符号,也就是该变量有没有正负号
条件语句和循环语句
条件语句和循环语句中与js完全一致,不在赘述
goto语句
int i;
a:{
i++
}
if (i < 5) goto a;
函数的定义与调用
<!-- 返回值类型(无使用void) + 名字 + (参数类型 参数名)-->
double multiplication (double a, double b) {
double c = a * b
return c
}
mutiplication(2.0, 3.0)
NSLog方法,浮点型采用%f输出,整型采用%d输出,字符串采用%s输出,例如
int a = 0;
float f = 0.1; 或 double f = 0.1;
char s = '字符串';
NSString *p = @"NS字符串";
NSLog(@'整型输出:%d', a);
NSLog(@'浮点型输出:%f', f);
NSLog(@'字符输出:%s', s);
NSLog(@'指针地址输出:%p', p);
%@ 打印NSString
语法篇
基础数据类型
int、float、double、char
OC同时支持C语言的字符串
变量名是大小写敏感的
限定词
用于对变量限定内存分配大小,关键词如下
long、long long、short、unsigned、signed
条件语句和循环语句
条件语句和循环语句中与js完全一致,不在赘述
goto语句
函数的定义与调用
NSLog方法,浮点型采用%f输出,整型采用%d输出,字符串采用%s输出,例如
面向对象语法
定义一个类
调用类的方式
[类名 方法名] [对象名 方法名]
类的成员变量和属性
如果声明了一个名为peopleName的属性,xcode会在类内自动创建一个名为_peopleName的成员变量。
对象方法和类方法
OC中定义类中的方法分为减号方法和加号方法,减号方法相当对象方法,也就是JavaScript中的
Vue.prototype.fun1
, 而加号方法被称为类方法(静态方法),类似于javascript中的Vue.nextTick
在.m文件中实现类方法的时候还需要注意,类方法中不能调用成员变量。
再来说说带参数调用,例如调用上面的initWithID方法
返回值中的id类型和instanceof类型,id类型可以返回任意类型的值,instanceof类型只能返回当前定义的类的实例类型,这在重写NSObject的init方法时经常使用。
访问修饰符
成员变量访问修饰符
方法的访问修饰符
OC中方法没有访问修饰符,如果你不想让某个方法在类外被使用,可以直接在.m文件中定义这个方法,外部自然无法调用。
继承与多态
没有多继承,如果想使用多继承的话,要使用协议。继承的语法在上文中也已经出现了
OC中的多态,OC中可以重写方法,但被重写方法的参数和返回值必须要与父类中的一致。换做术语来说就是,OC只支持方法重写,但不支持方法重载。
self与super
这两个都是在类的实现文件中使用的 super为父类,可以调用父类的方法 self为当前类,可以调用当前实现类中的方法