Objective-C学习记录

.h头文件
.m文件 实现文件,类似于C++中的.cpp文件

函数:

-(void) HelloWorld:(BOOL)ishellworld{
    //执行内容
}

前面带有减号(-)的方法为实例方法,必须使用类的实例才可以调用,对应的有+号,代表类的静态方法,不需要实例化即可调用。

self:指向自己的指针,类似于this

nil相当于null。

Objective-C的内存需要自己管理,添加了ARC机制后编译器帮助了Objective-C添加release释放代码,Java是通过垃圾回收机制管理的

类的声明:

@interface Person:NSObject{}  

@interface:相当于Class    类名后面的冒号相当于Java中的extends  和kotlin用法一样

创建对象:

Person *p = [Person new];

Person *p = [Person alloc] init];

两种方式都可以,new方法的内部也会分开调用alloc方法来分配内存空间(返回分配的对象),使用init方法来对对象进行初始化 。两者的区别:1.采用new方式只能采用默认的init方法完成初始化;

                              2.采用alloc的方法可以用自定义的构造方法完成初始化;

默认初始化完毕,所有成员变量的值都为0,用完对象需要释放内存

[lisi release];

 调用对象的属性:

//对象->属性名

lisi -> age;

//(*对象名).对象属性

(*lisi).name;

调用方法:

//[对象名 方法名]

[Person eat]

//[对象名 方法名:参数]

[Person eat:@"吃虾"]

[Person run:5]

在头文件中声明属性:

@property和@synthesize   编译器会自动补出其get和set方法

//在头文件中声明属性  .h

@property int age;

//在m文件中实现

@synthesize age;

猜你喜欢

转载自blog.csdn.net/qq_34198206/article/details/83180143