iOS上的反射用法

小小原创,转载请注明出处:http://iphone.xiaoxiaostudio.net/2012/12/19/ios上的反射用法 以前一直没有注意过iPhone开发中反射的用法,java C#等也都是有反射的,用起来还是挺方便的,因为目前开发的需要,就想到了用反射来完成一下。 1.通过类名来创建对象 Class testClass=NSClassFromString(@"testClass"); id object=[[testClass alloc] init]; 2.通过反射的方式,实现该对象的指定函数 例如:我想调用object 对象的 setDelegate方法(其实是给属性赋值,与方法一样的),用下面的代码,先判断该对象是否存在这样的方法,存在的话,就去执行。 if ([object respondsToSelector:@selector(setDelegate:)]) { [object performSelector:@selector(setDelegate:) withObject:self]; } SEL selector = NSSelectorFromString(@"testMethod:");方法可以通过字符串的形式来实现函数 3.如何得到类的名称 NSString * className =NSStringFromClass(testClass);   小小原创,转载请注明出处:http://iphone.xiaoxiaostudio.net/2012/12/19/ios上的反射用法  

posted on 2012-12-19 10:26  流れ星ーー  阅读(119)  评论(0编辑  收藏  举报

导航