Skip to content

smokyonion/Articles

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Articles

目录

UIKit


  1. UIView中layoutSubviews何时会被调用

  2. 证明UIViewController的ViewDidLoad和ViewWillAppear在同一个Event loop中

  3. 子View在父view的外部时的点击事件处理实例.

  4. 实现自定义UINavigationController的转场动画(iOS6+)

Foundation


  1. NSDictionary类簇实现

  2. 实现弱引用的NSArray/NSMutableArray(non-retaining NSArry/NSMutableArray)

内存管理、多线程


  1. dealloc在哪个线程执行

  2. NSNotification跨线程发送和接收通知.

  3. AutoreleasePool 与 runloop .

  4. 不同加锁方式耗时比较.

Runtime


  1. OC runtime 的消息转发机制
  2. Method Swizzling的使用方法,并用其解决几个常见问题.
  3. 使用Method Swizzling的弊端
  4. 深入理解category
  5. Associated object 实现原理

Tools


  1. PhonyDebugger的正确安装姿势
  2. UI调试神器: Reveal安装和使用
  3. 网络抓包: Charles
  4. iConsole
  5. Log: CocoaLumberjack
  6. lldb: Chisel
  7. 代码绘制图形: PaintCode
  8. CodeInventor

CrashLog,App安全


  1. Crash日志分析

  2. Crash日志的收集原理以及QuincyKit简介

  3. iOS应用安全中的常见破解手段

  4. iOS应用安全加固: 检测Debugger

  5. 阻止GDB依附时,ptrace被苹果审核报私有API调用的解决办法

架构


  1. UITableView的dataSource和Delegate的统一处理(解决Massive ViewController问题)

  2. 使用MVC框架的正确姿势,以及MVVM、VIPER框架简介

Hybrid/ Semi-hybrid


  1. BeeFramework
  2. Samurai
  3. React Native

开源库源码


  1. AFNetworking源码解析

  2. SDWebImage源码解析

  3. BeeFramework 源码解析

  4. fishhook

奇技淫巧


  1. GPX文件
  2. CGRect、CGPoint等的写法
  3. 不需要复用的代码块
  4. Fucking clang warning
  5. 常用lldb、Xcode调试Tips
  6. 分享SDK是如何实现的

C/C++,算法,数据结构等


  1. 常见字符编码方式的由来
  2. 《程序员的自我修养》- 编译、链接

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 100.0%