美文网首页
OC函数转为Cycript函数

OC函数转为Cycript函数

作者: ThaiLanKing | 来源:发表于2017-07-08 09:52 被阅读13次

    原生函数:

    //通过View获取当前的ViewController
    - (UIViewController *)currentViewControllerForVC:(UIView *)view
    {
        Class vcClass = [UIViewController class];
        UIResponder *responder = view;
        while ((responder = [responder nextResponder]))
            if ([responder isKindOfClass:vcClass])
                return (UIViewController *)responder;
        return nil;
    }
    

    转换结果:

    function currentVCForView(view) {
        var vcClass = UIViewController.class
        var responder = view
        while (responder = responder. nextResponder) {
            var isVCType = objc_msgSend(responder, "isKindOfClass:", vcClass)
            if (isVCType) {
               return responder
            }
        
        }
        return nil
    }
    
    

    最主要的技术点是通过objc_msgSend(receiver, selector, arg1, arg2, …);转换带参数的OC方法。

    相关文章

      网友评论

          本文标题:OC函数转为Cycript函数

          本文链接:https://www.haomeiwen.com/subject/azydhxtx.html