黑马程序员技术交流社区

标题: OC常见的关键字 [打印本页]

作者: Vercetti    时间: 2015-10-30 19:50
标题: OC常见的关键字
@
看到这个关键字,我们就应该想到,这是Object-C对C语言的扩展,例如@interface XXX。
@interface
声明类

@implementation
实现类

@protocol
声明协议
@optional
与@protocol配合使用,说明协议中的某个或者某几个方法可以不实现

@required
与@protocol配合使用,说明协议中的某个方法或者某几个方法必须实现
@end
与@interface ,@implementation,@protocol配合使用,代表声明或者实现结束
@encode
@encode为编译器宏,它可以将类型转换为相应的字符串。

id
id是指向Objective-C类对象的指针,它可以声明为任何类对象的指针,当在Objective-C中使用id时,编译器会假定你知道,id指向哪个类的对象。与void*是不同的是,void*编译器不知道也不假定指向任何类型的指针。


nil
定义为一个常量,如果一个指针的值为nil,代表这个指针没有指向任何对象。
self
在Objective-C中,关键字self与c++中this是同一概念,就是类对象自身的地址,通过self可以调用自己的实例变量和方法


Super
当子类需要调用父类的方法时,会用到Super关键字. Super指向的是父类的指针,子类重写父类的方法时,调用父类的方法是一个比较好的习惯。因为当我们不知道父类在该方法中实现的功能时,如果不调用父类的方法,有可能我们重写的方法会失去该功能,这是我们不愿意看到的情况。

NSNull
NSNull是没有的意思,如果一个字典的值为NSNull,那说明与该值对应的Key是没有值的,例如Key为address,说明与address对应的是值是没有。


self super class public protected private id

[self class] [super class]  selector

objective-c runtime reference


标准用法

self = [super init]

new
1 Objective-C有一个特性,就是可以把类当成对象来发送消息,这种用法通常用于新建对像时,例如 XXX *object = [XXX new];






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2