自己写了一段iOS Objective-C的反射的代码

做iOS开发已经两年多了。最近,在整理以前的代码,找到当时卡壳的一些代码片段,写博客跟大家分享一下。欢迎iOS初学者订阅我的博客,有什么问题可以留言交流。以下正文:


+ (id)getObject:(Class *)objectClass fromData:(NSDictionary *)dictionary

{

    id resultObject = [[objectClass alloc] init];

    NSArray *keys = [dictionary allKeys];

    for (NSString *key in keys) {

        NSString *methodName = [NSString stringWithFormat:@"set%@:", [key capitalizedString]];

        SEL selector = NSSelectorFromString(methodName);

        if ([resultObject respondsToSelector:selector]) {

            [resultObject performSelector:selector withObject:[dictionary objectForKey:key]];

        }

    }

    return resultObject;

}


不做太多评论,随意感受一下,想想一下应用场景,欢迎评论讨论。



你可能感兴趣的:(ios,反射,Objective-C,iPhone)