首页 > 其他 > 详细

Objective-C description方法 SEL类型

时间:2015-06-26 12:41:11      阅读:243      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!