240 发简信
IP属地:湖北
  • 120
    VSCode 调试ruby

    一.Bundler Bundler 能够跟踪并安装所需的特定版本的 gem,以此来为 Ruby 项目提供一 致的运行环境. 二.插件安装 安装VSCode的Ruby插件 3....

  • class的load方法完成注册,太多对启动时Main线程有影响;说实话,你们的方案也是在load中注册的,只不过是每个模块有一个类专门注册路由,其实JLRouter也可以每个模块一个类专门注册路由啊,也是一个模块一个load啊,这跟JLRoute没关系吧

    iOS组件化实践方案-LDBusMediator炼就

    一、中小型App为什么要组件化 当项目App处于起步阶段、各个需求模块趋于成熟稳定的过程中,组件化也许并没有那么迫切,甚至考虑组件化的架构可能会影响开发效率和需求迭代。而当项...

  • 120
    ios自动释放池

    一. 自动释放池源码解析 在main函数中使用如下命令重写成c++文件 clang -rewrite-objc main.m 通过上面的c++代码可以看到:@autorele...

  • 如何实现多读单写

    一.使用GCD实现多读单写 1.dispatch_barrier_async dispatch_barrier_sync()或者dispatch_barrier_async(...

  • 120
    @synchronized 探究

    一.@synchronized的作用 @synchronized 结构所做的事情跟锁(lock)类似:它防止不同的线程同时执行同一段代码。但在某些情况下,相比于使用 NSLo...

  • 120
    super 关键字

    面试题 2021-06-23 14:22:30.124579+0800 super[15478:176287] [self class] = Dog2021-06-23 14...

  • 120
    NSProxy应用

    一. NSProxy简介 NSProxy是一个抽象的超类,它定义了一个对象的API,用来充当其他对象或者一些不存在的对象的替身。通常,发送给Proxy的消息会被转发给实际对象...

  • 120
    iOS线程保活

    一.什么是线程保活 如图1所以,任务执行完成后,线程会退出。线程的创建和销毁比较耗性能,如果需要在一条线程中频繁的执行任务,就需要保证线程在执行完任务后不退出。在ios中使用...

  • 120
    KVO子类的创建过程

    KVO的实现原理是利用runtime动态生成一个被观察对象的子类,重新子类的4个方法,实现通知监听者。 一。子类的生成 1.runtime动态生成类 先调用 objc_all...

  • 120
    KVO底层探究

    一.什么是KVO KVO,即 Key-Value Observing 是 Objective-C 对观察者设计模式的一种实现。 关于 KVO,即 Key-Value Obse...

  • 120
    二叉树遍历

    二叉树遍历的四种方式 前序遍历 根----左子树----右子树 中序遍历 左子树----根----右子树 后序遍历 左子树----右子树---根 层序遍历 逐层遍历 递归 使...

  • 我下载下来直接死循环了 callAlloc

    objc4-750源码编译

    OC的一个主要特性Runtime运行时特性,在日常开发中我们使用到的都是不可见的,还好官方提供了Runtime(objc4)源码供开发者研究,我是小白,下面就开始迈出源码探索...

  • 120
    UITableView 数组越界

    当我们reloadData的时候,会刷新UITableView,随后会进入一系列UITableViewDataSource和UITableViewDelegate的回调,其中...