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

Objective-C description方法 SEL类型

时间:2015-06-26 12:43:32      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:

description方法

#import "Person.h"

@implementation Person
- (void) setAge : (int) age {
    _age = age;
}

/** 决定了实例对象的输出结果 **/
- (NSString *) description {
    return [NSString stringWithFormat : @"age=%i", _age];
}

/** 决定了类对象的输出结果 **/
+ (NSString *) description {
    return @"ABC";
}
@end

//默认情况下(不重写) 使用NSLog和%@输出对象时 结果是: <类名: 内存地址>
//会调用对象的-description方法
//拿到-description方法的返回值(NSString *)显示到屏幕上
//-description方法默认返回的是"类名 + 内存地址";
//便于观察结果 一般重写父类的-description方法

SEL类型

1.方法的存储位置

每个类的方法列表都存储在类对象中

每个方法都有一个与之对应的SEL类型的对象

根据一个SEL对象就可以找到方法的地址 进而调用方法

2.SEL对象的创建

SEL s = @selector(方法名);

SEL s2 = NSSelectorFromString(@"test");

3.SEL对象的其他用法

将SEL对象转为NSString对象

NSString *str = NSStringFromSelector(@selector(方法名));

根据SEL调方法

[p performSelector : @selector(方法名)];

[p performSelector : @selector(方法名) withObject : 实际参数];

[self performSelector : _cmd]//会引发死循环 _cmd代表着当前方法

Objective-C description方法 SEL类型

标签:

原文地址:http://www.cnblogs.com/huangyi-427/p/4601750.html

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