240 发简信
IP属地:北京
  • 120
    关于 AutoreleasePool 的几点

    场景 官方推荐的使用 autoreleasepool 的场景: 非 UI 项目,比如命令行 使用 Xcode 创建一个默认的空命令行项目你会发现 main 默认添加了 @au...

  • 120
    在 AutoLayout 中使用 CALayer

    使用 AutoLayout 时,view 不会立刻布局,而如果此时恰好需要给 view 添加 layer,layer 的 frame 设置为 view 的 frame 会得到...

  • 120
    iOS 中消息发送与转发

    objc_msgSend 调用一个方法的时候,runtime 层会将这个调用翻译成 比如,一条语句 [receiver message]; 会由编译器转化为以下的纯 C 调用...

  • 120
    登录 SDK 调起第三方应用

    前言 在使用 QQ,微信等第三方登录时需要通过 application:openURL:options: 方法来调起对应的应用。但是在制作登录 SDK 时无法直接在 appl...

  • 120
    iOS: 把一个 View 转为 Image

    引子 最近遇到一个需求,需要把一个 UIView 转换为一个 UIIamge,这里用到了 UiKit 的上下文,还需要了解 Core Graphics 的一些内容,所以总结一...

  • 120
    自旋锁与互斥锁

    性能 先参考一张 ibireme 大神的图: 自旋锁 自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环在那里看是否该自旋锁的保持者已经释放了锁。自...

  • 120
    iOS App 启动过程(三):main() 及生命周期

    main函数后 进入 mian() 之后需要�设置 AppDelegate 为应用代理,代理会在 App 启动之后调用: 点击Home键时 点击APP时 UIViewCont...

  • 120
    iOS App 启动过程(二):从 exec() 到 main()

    概述: 从点击应用到执行 main() 之前,系统进行了以下行为: Load dylibs:递归映射所有依赖的动态库(dylibs) Rebase:对所有图像进行重设基址 B...

  • iOS启动流程和生命周期

    1. 启动流程 1.1 准备知识 Mach-O Apple的操作系统的可执行文件格式几乎都是mach-o,mach-o可以大致的分为三部分: 绝大多数mach-o包括以下三个...

  • 120
    iOS App 启动过程(一):基础概念

    Mach-O Mach-O 是运行时可执行文件的文件类型,主要包括: Executable,可执行文件,应用中最重要的二进制文件,也就是应用扩展的主二进制文件; Dylib,...

  • __bridge, __bridge_transfer, __bridge_retained 用法

    由 CoreFoundation 创建、管理的对象,生命周通过手动调用 CFRetain/CFRelease 来管理。 Core Foundation 内存管理的三原则: 通...

  • 120
    iOS-网络编程(二)文件上传和断点离线下载

    一. iOS中发送HTTP请求的方案 在iOS中,我们常用发送HTTP请求的方案有苹果原生(自带)NSURLConnection:用法简单,最古老最经典最直接的一种方案 (i...

  • 是的,这是 Airbnb 宣布放弃 RN 后的系列文章的最后一篇,描述了放弃 RN 后的移动开发,从文章来看虽然放弃了 RN,但是也从 RN 中吸取了一些思想。

    Airbnb: 移动开发的下一个时代

    本文翻译自What’s Next for Mobile at Airbnb 这是我们关于React Native的系列文章的第五篇,描述我们在React Native上的经验...

  • 使用 GCD 控制线程执行顺序

    前言 需求:有三个异步执行的任务A、B、C,任务 C 必须等待任务 A 和 任务 B 执行完毕才执行。 本文分别采用三种方法来实现线程执行顺序的控制,semaphore、ba...

  • 120
    定期更新 Homebrew

    前言 Homebrew 是使用 Mac OS 的一件利器,Homebrew 可以安装 Apple 没有预装但非常需要的东西。Homebrew 会将软件包安装到独立目录,并将其...