NSObject 类的反射,方法反射(十五)
来源:互联网 发布:安卓上的windows模拟器 编辑:程序博客网 时间:2024/06/11 23:20
NSObject 类的反射,方法反射用法如下:
#import "MS_NSReflect.h"#import "MS_Person.h"#import "MS_Student.h"@implementation MS_NSReflect-(void)showNSReflect{ //子类 与 基类 的比较 (isKindOfClass)返回值(true) //基类 与 子类 的比较 (isKindOfClass) 返回值(false) id student = [[MS_Student alloc] init]; if([student isKindOfClass:[MS_Person class]]) { NSLog(@"This is Student isKindOfClass Person"); } else { NSLog(@"This is Student is NOT KindOfClass Person"); } //基类 isKindOfClass 子类 id person = [[MS_Person alloc] init]; if([person isKindOfClass:[MS_Student class]]) { NSLog(@"This isPerson isKindOfClass Student"); } else { NSLog(@"This isPerson is NOT KindOfClass Student"); } //同一类别的实例 isMemberOfClass 基类/或其它类 返回(false) //同一类别的实例 isMemberOfClass 该一类别 返回(true) id student_temp = [[MS_Student alloc] init]; if([student_temp isMemberOfClass:[MS_Person class]]) { NSLog(@"This Student isMemberOfClass Person"); } else { NSLog(@"This Student is NOT MemberOfClass Person"); } //同一类别的判断 返回(true) id person_temp = [[MS_Person alloc] init]; if([person_temp isMemberOfClass:[MS_Person class]]) { NSLog(@"This Person isMemberOfClass Person"); } else { NSLog(@"This Person is NOT MemberOfClass Person"); } //NSObject 的反射 //类名反射 NSString *classPerson = @"MS_Person"; Class singlePersonClass = NSClassFromString(classPerson); MS_Person *personReflect = [[singlePersonClass alloc] init]; personReflect.person = @"张三"; [personReflect showPerson]; //方法反射 可以反射私有方法 NSString *methodPerson = @"showPrivate"; SEL singlePersonMethod = NSSelectorFromString(methodPerson); [personReflect performSelector:singlePersonMethod];}@end
0 0
- NSObject 类的反射,方法反射(十五)
- NSObject常用方法 和 常用的一些类的反射
- NSObject常用方法 和 常用的一些类的反射
- NSObject常用方法 和 常用的一些类的反射
- NSObject常用方法 和反射
- NSObject一些比较常用的方法和简单的反射
- NSObject和反射
- NSObject,反射,copy笔记
- NSObject和反射 --foundation
- foundation-NSObject和反射
- (十五)反射
- 反射 类的方法
- 方法的反射类
- 理解反射(四)类中的成员方法的反射
- 反射--> 构造方法Constructor类的反射
- 反射 --- 成员方法Method类的反射
- iOS反射---2.类方法的反射
- 反射(构造方法Constructor的反射)
- jquery模拟浏览器滚动条效果
- R语言的一些笔记
- Spring mvc中@Requestmapping再探
- LightOJ - 1040 Donation
- contextual action mode
- NSObject 类的反射,方法反射(十五)
- MongoDB简介
- AndroidFM模块学习之四源码分析(十)
- linux 挂载硬盘
- JS显示网页最后更新时间
- jq.proxy
- Uml of linux
- An internal error occurred during: "Launching web on MyEclipse Tomcat"
- 我们要友好的告诉用户,程序要崩溃了