iOS 反射

什么是反射

类名、方法名、属性名和字符串在运行时相互转化的能力

反射方法


// SEL和字符串转换

FOUNDATION_EXPORT NSString *NSStringFromSelector(SEL aSelector);

FOUNDATION_EXPORT SEL NSSelectorFromString(NSString *aSelectorName);

// Class和字符串转换

FOUNDATION_EXPORT NSString *NSStringFromClass(Class aClass);

FOUNDATION_EXPORT Class __nullable NSClassFromString(NSString *aClassName);

// Protocol和字符串转换

FOUNDATION_EXPORT NSString *NSStringFromProtocol(Protocol *proto) NS_AVAILABLE(10_5, 2_0);

FOUNDATION_EXPORT Protocol * __nullable NSProtocolFromString(NSString *namestr) NS_AVAILABLE(10_5, 2_0);

应用场景

1、代码模块化,解耦代码

2、后端动态下发类名方法名,动态决定调用情况

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 之前有没有在大家的相互讨论中,听过“反射”这个词,而自己却似懂非懂?反射听起来比较神秘,其实各位也许在自己以前的实...
    清晨一杯豆浆阅读 6,190评论 0 8
  • 了解反射机制 Objective-C语言中的OC对象,都继承自NSObject类。这个类为我们提供了一些基础的方法...
    呦释原点阅读 5,176评论 0 7
  • 该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮> http://www.jianshu.co...
    海是天空蓝阅读 1,170评论 0 0
  • 该文章属于<简书 — 刘小壮>原创,转载请注明: <简书 — 刘小壮> http://www.jianshu.co...
    luonaerduo阅读 1,293评论 0 0
  • 该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93d...
    刘小壮阅读 46,661评论 45 151