You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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为当前类,可以调用当前实现类中的方法
The text was updated successfully, but these errors were encountered: