Demo下载点击BasicDemos-iOS
- alpha、clearColor、opaque、hidden你能分清吗
- 高斯模糊原理、以及如何使用UIVisualEffectView实现模糊效果
- iOS中定义属性时的atomic、nonatomic、copy、assign、strong、weak等几个特性的区别
- 委托、通知传值的用法与区别
- 宏(#define)与常量(const)的使用
- 手势控制:点击、滑动、平移、捏合、旋转、长按、轻扫
- 事件传递和响应链(Responder Chain)
- Segue几种类型(Show、Show-Detail、Present-modally、Present-as-Popover)的区别
- 断言NSAssert的使用
- 条件编译 Conditional Compilation
- 一篇文章学会typedef enum、NS_ENUM、NS_OPTIONS和移位1 << 0
- KVC和KVO学习笔记
- 深复制、浅复制、copy、mutableCopy
- Block的用法
- Timer的使用
- 计时器CADisplayLink
- Auto Layout的使用
- Auto Layout中Stack View的使用
- setNeedsLayout VS layoutIfNeeded
- 使用NSFileManager管理文件系统
- 软链接、硬链接的区别
- 使用偏好设置、属性列表、归档解档保存数据、恢复数据
- 数据存储之归档解档 NSKeyedArchiver NSKeyedUnarchiver
- 在UIScrollView、UICollectionView和UITableView中添加UIRefreshControl实现下拉刷新
- UIAlertController的使用
- UICollectionView及其新功能drag and drop
- UIPageViewController的使用
- UIScrollView的用法
- NSURLSession的使用(一)
- URLSession详解
- 网络模型:七层、五层、四层概念及功能分析
- 三次握手、七次握手、四次挥手
- UserNotifications框架详解
- WebKit的使用
- Today Extension(widget)的使用
- Password AutoFill 的使用
- HTTP Live Streaming 详解
- 五种常见流媒体协议
- Crash日志符号化
- 静态库和动态库对比
- 面向协议编程
- strong、weak和unowned的区别
- map、filter、reduce的用法
- struct和class区别
- @autoclosure的使用
- enum内存布局
- Swift指针的使用
- NSCache的使用
- Swift方法调用
- 协议、泛型和Existential Container
- CoreGraphics系列一:path
- CoreGraphics系列二:gradient和context
- CoreGraphics系列三:pattern和transparency layer
- 图像下采样
- UIViewPropertyAnimator的使用
- View Controller 转场
- 自定义视图控制器转场动画
- 一篇文章学会使用UIKit Dynamics
- 核心动画 Core Animation
- KVC、KVO的本质
- 分类category、load、initialize的本质和源码分析
- 关联对象 Associated Object 的本质
- Block的本质
- Runtime从入门到进阶一
- Runtime从入门到进阶二
- RunLoop从入门到进阶
- Mach-O可执行文件
- 地址空间布局随机化ASLR及iOS内核如何实现随机化
- MVVM设计模式
- 原型模式 Prototype Pattern
- 备忘录模式 Memento Pattern
- 工厂模式 Factory Pattern
- 生成器模式 Builder Pattern
- 策略模式 Strategy Pattern
- 迭代器模式 Iterator Pattern
- 适配器模式 Adapter Pattern
- CocoaPods的安装与使用
- 使用CocoaPods创建公开、私有pod
- 教你系统学习Git
- Git新功能:switch、restore
- LLDB的使用
- 正则表达式NSRegularExpression
- 正则表达式possessive、greediness和laziness区别
- iOS正则表达式语法全集
如果这些文章对你有帮助,欢迎点击右上角的Star。
如果想要获取最新文章,请点击右上角的Watch。
如果发现错误,欢迎提出Issue。