OC中的反射机制

2018-03-21  本文已影响42人  跃文

简单聊一下概念和使用

1). class反射

通过类名的字符串形式实例化对象。

Class class = NSClassFromString(@"student");

Student *stu = [[class alloc] init];

将类名变为字符串。

Class class =[Student class];

NSString *className = NSStringFromClass(class);

2). SEL的反射

通过方法的字符串形式实例化方法。

SEL selector = NSSelectorFromString(@"setName");

[stu performSelector:selector withObject:@"Mike"];

将方法变成字符串。

NSStringFromSelector(@selector*(setName:));

调用方法有两种方式:

1). 直接通过方法名来调用。[person show];

2). 间接的通过SEL数据来调用 SEL aaa = @selector(show); [person performSelector:aaa];

上一篇下一篇

猜你喜欢

热点阅读