黑马程序员技术交流社区

标题: 转Objective-C 中一些关键字和概念的总汇 [打印本页]

作者: shenlongzs    时间: 2014-4-7 21:58
标题: 转Objective-C 中一些关键字和概念的总汇
初学Objective-C,总是对其中的一些概念和关键字搞不清楚,为了更好的学习oc,还是总结了一下。
1、关键字
看到这个关键字,我们就应当想到,这是Object-C对C说话的扩大,例如@interface XXX。
@interface  
声明类
@implementation   
实现类
@protocol   
声明和谈@optional   
与@protocol共同应用,申明和谈中的某个或者某几个办法可以不实现
@required与@protocol共同应用,申明和谈中的某个办法或者某几个办法必须实现
@end与@interface ,@implementation,@protocol共同应用,代表声明或者实现停止

@encode@encode为编译器宏,它可以将类型转换为响应的字符串。
idid是指向Objective-C类对象的指针,它可以声明为任何类对象的指针,当在Objective-C中应用id时,编译器会假定你知道,id指向哪个类的对象。与void*是不同的是,void*编译器不知道也不假定指向任何类型的指针。
nil定义为一个常量,若是一个指针的值为nil,代表这个指针没有指向任何对象。
self在Objective-C中,关键字self与c++中this是同一概念,就是类对象自身的地址,经由过程self可以调用本身的实例变量和办法
Super当子类须要调用父类的办法时,会用到Super关键字. Super指向的是父类的指针,子类重写父类的办法时,调用父类的办法是一个非常好的习惯。因为当我们不知道父类在该办法中实现的功能时,若是不调用父类的办法,有可能我们重写的办法会落空该功能,这是我们不想看到的景象。
NSNullNSNull是没有的意思,若是一个字典的值为NSNull,那申明与该值对应的Key是没有值的,例如Key为address,申明与address对应的是值是没有。
self super class public protected private id
[self class] [super class]  or
objective-c runtime reference
标准用法
self = [super init]
newObjective-C有一个特点,就是可以把类当成对象来发送消息,这种用法凡是用于新建对象时,例如 XXX *object = [XXX new];
类办法 +若是想声明属于类而不属于类对象的办法,用+。+用来润饰类的办法,应用+润饰的类办法,是全部类的办法,不属于哪一个类对象,这与C++中的static在类中应用的概念一样,%@在NSLog中,应用%@默示要调用对象的description办法。





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