标签:
一、self的用法
oc中的self有点想C++中的this指针,它指向的是调用该方法的对象或者类,看一下例子:
@implementation Book
- (instancetype)initWithTile:(NSString *)title withPageNum:(NSInteger)pageNum
{
if(self = [super init])
{
_pageNum = pageNum;
_title = title;
}
return self;
}
- (void)setTitle:(NSString *)title
{
_title = title;
}
- (void)setPageNum:(NSInteger)pageNum
{
_pageNum = pageNum;
}
- (NSString *)title
{
return _title;
}
- (NSInteger)pageNum
{
return _pageNum;
}
- (void)showDetail
{
NSLog(@"%@ has %ld pages.",[self title],[self pageNum]);
}
@end
这是Book类的. m文件中的函数定义,其中有每个元素的setter方法和getter方法,在showDetail这个方法中调用了元素title和pageNum的getter方法。
当有Book类对象book调用[self title]和[self pageNum]时,self指向的就是对象book,这个是实例方法,同理如果是类方法,那就是调用函数的类。
二、super、id
super则是指向之类的夫类的,用super修饰就可以调用夫类的函数;
id相当于c语言中的Void *可以返回任意类型;
标签:
原文地址:http://www.cnblogs.com/RickChen/p/4844809.html