简书 MarkDown 代码框的使用

还是第一次使用简书的markDown

献给写作者的 Markdown 新手指南

代码框
runtime method swizzling

//静态就交换静态,实例方法就交换实例方法
void Swizzle(Class c, SEL origSEL, SEL newSEL)
{
    Method origMethod = class_getInstanceMethod(c, origSEL);
    Method newMethod = nil;
    if (!origMethod) {
        origMethod = class_getClassMethod(c, origSEL);
        if (!origMethod) {
            return;
        }
        newMethod = class_getClassMethod(c, newSEL);
        if (!newMethod) {
            return;
        }
    }else{
        newMethod = class_getInstanceMethod(c, newSEL);
        if (!newMethod) {
            return;
        }
    }
    
    //自身已经有了就添加不成功,直接交换即可
    if(class_addMethod(c, origSEL, method_getImplementation(newMethod), method_getTypeEncoding(newMethod))){
        class_replaceMethod(c, newSEL, method_getImplementation(origMethod), method_getTypeEncoding(origMethod));
    }else{
        method_exchangeImplementations(origMethod, newMethod);
    }
}
搞定,可以了,以后继续玩,好开心
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,853评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 178,479评论 25 709
  • 你的微笑 "船长——船长——"一个水手大喊着,"还有半小时就该出发了!"我从睡梦中惊醒,看见天色已亮,手忙脚乱地整...
    眠盐阅读 226评论 1 1
  • 为什么要用到php扩展?因为php扩展使用C语言编写,而C语言是静待编译的,所以执行效率要高于php很多,这里我来...
    人在码途阅读 1,513评论 2 1
  • 01 22:30 当我正准备和G先生共赴春宵的时候,QQ响了。 这种上了年纪的聊天工具,已然变成了甲方爸爸们的深夜...
    职场解忧铺何掌柜阅读 408评论 4 6

友情链接更多精彩内容