240 发简信
IP属地:广东
  • 将runloop的理解都写到这里

    项目代码 runloopDemo CFCoreFoundation源码 目录 从主线程runloop啥时候开启 runloop对象是怎么存储的 ...

  • iOS-监听某个代理的所有代理方法(多重代理)

    代码地址 比如监听UIScrollView的所有代理方法 首先建立一个NSProxy的子类,子类持有一个数组,这个数组用于方法UIScrollV...

  • Resize,w 360,h 240
    iOS-自己实现个NSNotificationCenter

    iOS-自己实现个NSNotificationCenter 代码地址 实现原理类似多播委托 1.指定objc的实现NSNotification,...

  • runtime各种数据结构

    runtime各种数据结构 对象 所以说,只要是oc对象就有isa指针,但是这句话也不完全对 并不是所有的oc对象都有isa指针,例如Tagge...

  • atomic和线程安全的理解

    atomic和线程安全的理解 线程安全 如果多线程下,一直操作i = i + 1,可能出现线程不安全 i = i + 1这个表达式涉及三步,取值...

  • GCD队列理解

    GCD队列理解 先抛总结点: 1.并行队列要并行执行,其实也是通过开辟多个子线程实现的;那么当并行队列遇到没法开辟多个子线程,那么他就没法达到并...

  • C++笔记

    C++笔记 一、输入输出 scanf 输入字符串,%c,空格是不会被跳过的 用scanf输入,出现非控制字符,则这些字符会被跳过 这时候输入 ...

  • KVC设值过程

    在KVC的实现中,依赖setter和getter的方法实现,所以方法命名应该符合苹果要求的规范,否则会导致KVC失败。 setValue的过程 ...

  • 使用GCD的group来控制网络请求顺序

    使用GCD的group来控制网络请求顺序 同时发起多个网络请求,等都完成后,再统一处理 dispatch_group_notify会等dispa...

个人介绍
天道酬勤,守正出奇