iOS runtime修改类的属性

    JrmfWalletSDK *p = [JrmfWalletSDK new];

    // IVar是runtime声明的一个宏

    unsigned int count = 0; //count记录变量的数量

    // 获取类的所有属性变量

    Ivar *members = class_copyIvarList([JrmfWalletSDK class], &count);

    for (int i = 0; i < count; i++) {

        Ivar ivar = members[i];

        // 取得属性名并转成字符串类型

        const char *memberName = ivar_getName(ivar);

        NSString *strName = [NSString  stringWithCString:memberName encoding:NSUTF8StringEncoding];

        修改颜色属性

           [p setValue:[self mainColor] forKey:@"themePageColor"];

            [p setValue:[self mainColor] forKey:@"pageBtnColor"];

            [p setValue:[self mainColor] forKey:@"themeBtnColor"];

            [p setValue:[self mainColor] forKey:@"themeNavColor"];    

    }

posted on 2018-01-09 12:00  程序“猿”  阅读(329)  评论(0编辑  收藏  举报

导航