首页 > 移动平台 > 详细

ios反射

时间:2014-10-29 17:14:19      阅读:180      评论:0      收藏:0      [点我收藏+]
<pre name="code" class="objc"><pre name="code" class="objc">    Class cls = NSClassFromString(@"ClassName");
    
    id a= [[cls  alloc]  init];
    
//    调用方法
    NSString *selectorName = @"selector:";//方法名
    NSString *selectorParame = @"aaa";    //方法参数
    SEL selector = NSSelectorFromString(selectorName);
    if ([a respondsToSelector:selector]) {
        objc_msgSend(a,selector,selectorParame);//执行方法

    }
    
//     参数设置
    NSString *parameter = @"parameter";  //参数名
    NSString *first = [[parameter substringToIndex:1] uppercaseString];
    NSString *next  = [parameter substringWithRange:NSMakeRange(1,parameter.length)];
    NSString *parameterName = [NSString stringWithFormat:@"set%@%@:", first,next];
    
    SEL parameterSelector = NSSelectorFromString(parameterName);
    if ([a respondsToSelector:parameterSelector]) {
        objc_msgSend(a,parameterSelector,@"parameterValue");
    }



ios反射

原文:http://blog.csdn.net/cerastes/article/details/40586297

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!