Invoker 1.2

Invoker 1.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最后发布2017 年 3 月

Silence0201 维护。



Objective-C 的 Invoker
使用 OCRuntime 集合并调用 私有函数

使用说明

安装

将项目中 Invoker 目录导入项目中

Pod 安装

pod 'Invoker', '~> 1.0'

使用

请查看 ViewController.m 文件以了解详细信息

- (void)viewDidLoad {
    [super viewDidLoad];

    // 调用公开的方法
    CGRect rect = [[self invoke:@"aRect"] CGRectValue];
    NSLog(@"rect: %@", NSStringFromCGRect(rect));

    // 调用公开的方法并传入参数
    [self.view invoke:@"setBackgroundColor:" arguments:@[ [UIColor whiteColor] ]];
    [self.view invoke:@"setAlpha:" arguments:@[@(0.5)]];
    [UIView animateWithDuration:3 animations:^{
        [self.view invoke:@"setAlpha:" arguments:@[@(1.0)]];
    }];

    // 调用私有方法
    int sizeClass = [[self invoke:@"_verticalSizeClass"] intValue];
    NSLog(@"sizeClass: %d", sizeClass);

    // 调用私有方法并传入参数
    [self invoke:@"_setShowingLinkPreview:" arguments:@[@(NO)]];

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
        [self invoke:@"_setShowingLinkPreview:" arguments:@[@(YES)]];
    });

    // 调用类方法
    UIEdgeInsets insets = [[self.class invoke:@"aInsets:" arguments:@[@"Test"]] UIEdgeInsetsValue];
    NSLog(@"insets: %@", NSStringFromUIEdgeInsets(insets));

    // 调用类方法并传入参数
    UIColor *color = [UIColor invoke:@"colorWithRed:green:blue:alpha:" arguments:@[@(0), @(0.5), @(1),@(1)]] ;
    NSLog(@"color: %@", color);
}

Invoker

Invoker 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。