码迷,mamicode.com
首页 > 其他好文 > 详细

self、super、id的用法

时间:2015-09-28 20:43:46      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:

一、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 *可以返回任意类型;

self、super、id的用法

标签:

原文地址:http://www.cnblogs.com/RickChen/p/4844809.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!