摘要: 图片下载与缓存深度解析:NSOperationQueue 手动实现与 SDWebImage 原理 本文系统梳理 iOS 图片下载与缓存:沙盒目录结构与路径工具类、使用 NSOperationQueue 手动实现多图片下载(内存缓存+磁盘缓存+并发控制+线程安全)、SDWebImage 第三方库的缓存 阅读全文
posted @ 2015-08-20 16:51 Mr.陳 阅读(959) 评论(0) 推荐(0)
摘要: NSOperation 与 NSOperationQueue 深度解析:操作封装、队列管理、依赖关系与自定义并发 Operation 本文系统梳理 NSOperation 多线程编程:NSOperation 抽象类与三种子类、NSOperationQueue 队列管理(最大并发数/取消/暂停/恢复) 阅读全文
posted @ 2015-08-20 15:14 Mr.陳 阅读(593) 评论(0) 推荐(0)
摘要: GCD 深度解析:队列与任务、同步异步、栅栏函数、队列组与单例模式 本文系统梳理 GCD(Grand Central Dispatch)并发编程框架:任务与队列核心概念、同步/异步执行、栅栏函数、并发/串行队列创建、四种组合效果、线程间通信、延时/一次性/快速迭代/队列组/挂起恢复/GCD 定时器等 阅读全文
posted @ 2015-08-17 21:04 Mr.陳 阅读(387) 评论(0) 推荐(0)
摘要: NSThread 多线程深度解析:线程创建、状态管理、安全隐患与原子属性 本文系统梳理 NSThread 多线程编程:线程创建与启动、线程状态生命周期(新建/就绪/运行/阻塞/死亡)、多线程安全隐患与互斥锁/自旋锁、atomic 与 nonatomic 属性选择,以及底层逻辑。 一、NSThread 阅读全文
posted @ 2015-08-17 20:54 Mr.陳 阅读(370) 评论(0) 推荐(0)
摘要: iOS 多线程深度解析:进程与线程、NSThread、GCD、NSOperation 与线程同步 本文系统梳理 iOS 多线程编程:进程与线程概念、多线程原理(单核并发与多核并行)、主线程与耗时操作、四种多线程实现方案(NSThread/GCD/NSOperation/Pthreads)对比与详细用 阅读全文
posted @ 2015-08-17 20:51 Mr.陳 阅读(355) 评论(0) 推荐(0)
摘要: 一、转盘(裁剪图片、自定义按钮、旋转) 1、裁剪图片 将一张大图片裁剪为多张 // CGImageCreateWithImageInRect:用来裁剪图片 // image:需要裁剪的图片 // rect:裁剪图片的尺寸,传递是像素 CGImageRef norImage = CGImageCrea 阅读全文
posted @ 2015-08-08 21:43 Mr.陳 阅读(1170) 评论(0) 推荐(1)
摘要: CALayer 与 Core Animation 深度解析:图层属性、隐式动画、基本动画、关键帧动画、动画组与转场动画 本文系统梳理 CALayer 图层体系与 Core Animation 核心动画:CALayer 常用属性、position/anchorPoint 定位机制、隐式动画与 CATr 阅读全文
posted @ 2015-08-07 22:20 Mr.陳 阅读(730) 评论(0) 推荐(0)
摘要: Quartz 2D 绘图实战:画线、饼图、雪花动画、水印、裁剪与截图 本文通过 12 个实战案例,系统掌握 Quartz 2D 与 UIKit 绘图:直线/曲线/扇形绘制、setNeedsDisplay 重绘机制、下载进度圆、饼图、文字与图片绘制、CADisplayLink 雪花动画、上下文状态栈、 阅读全文
posted @ 2015-08-04 22:02 Mr.陳 阅读(1124) 评论(0) 推荐(0)
摘要: Quartz 2D 深度解析:图形上下文、路径绘制、矩阵变换与图片处理 Quartz 2D 是 iOS/macOS 原生的二维绘图引擎,基于 Core Graphics 框架。本文系统梳理图形上下文、drawRect 绘制机制、路径拼接与绘制、上下文栈与矩阵变换、内存管理,以及图片水印、圆形裁剪、屏 阅读全文
posted @ 2015-08-04 21:23 Mr.陳 阅读(504) 评论(0) 推荐(0)
摘要: 视图控制器转场深度解析:Push 与 Modal、模态样式、自定义转场与 Popover 视图控制器转场是 iOS 界面导航的核心。本文系统梳理 Push(导航推送)与 Modal(模态弹出)两种转场方式的用法、适用场景、模态展示样式与转场动画、dismiss 机制、Popover 弹出、自定义转场 阅读全文
posted @ 2015-08-03 23:47 Mr.陳 阅读(375) 评论(0) 推荐(0)
摘要: UITabBarController 深度解析:多标签导航、UITabBarItem 定制与外观管理 UITabBarController 是 iOS 最常用的容器控制器之一,用于通过底部标签栏在多个功能模块间切换。本文系统梳理其基本用法、UITabBarItem 定制、UITabBarContro 阅读全文
posted @ 2015-08-02 23:21 Mr.陳 阅读(398) 评论(0) 推荐(0)
摘要: iOS 事件处理深度解析:事件类型、响应者链条、Hit-Test 与手势识别 本文系统梳理 iOS 事件处理机制:三大事件类型、UIResponder 响应者对象、触摸事件与 UITouch/UIEvent、事件产生与 Hit-Test 传递机制、响应者链条、手势识别器及其与触摸事件的关系。 一、i 阅读全文
posted @ 2015-08-02 21:02 Mr.陳 阅读(3207) 评论(2) 推荐(1)
摘要: iOS 数据存储与沙盒机制全解析 本文系统梳理 iOS 五种数据存储方式(plist、NSUserDefaults、NSKeyedArchiver、SQLite3、Core Data)、应用沙盒目录结构与获取方式、Keychain 敏感数据存储,并补充各方式的 Swift 对照与现代 API。 一、 阅读全文
posted @ 2015-08-01 23:37 Mr.陳 阅读(1197) 评论(0) 推荐(0)
摘要: 导航控制器深度解析:入栈出栈、导航条定制、控制器生命周期与微博个人主页效果 本文系统梳理 UINavigationController 的入栈出栈机制、导航条内容定制、控制器完整视图生命周期,并通过微博个人详情页效果(滚动渐变导航栏、头部缩放)的完整封装实践,掌握导航控制器的高级用法。 一、导航控制 阅读全文
posted @ 2015-07-30 22:48 Mr.陳 阅读(646) 评论(0) 推荐(0)
摘要: iOS 内存管理进阶:autoreleasepool、weak 底层、Tagged Pointer、Block 内存与循环引用检测 一、autoreleasepool 底层原理 1. @autoreleasepool 的编译后实现 @autoreleasepool {} 在编译后会被替换为 Runt 阅读全文
posted @ 2015-07-28 23:01 Mr.陳 阅读(331) 评论(0) 推荐(0)
摘要: iOS 内存管理深度解析:ARC 与 MRC 内存管理是 iOS 开发的核心基础。本文深入解析自动引用计数(ARC)与手动引用计数(MRC)的原理、规则、循环引用、autoreleasepool、引用计数存储以及 CoreFoundation 桥接,并补充 Swift 中的 ARC 实践。 一、自动 阅读全文
posted @ 2015-07-28 22:45 Mr.陳 阅读(393) 评论(0) 推荐(0)
摘要: UIKit 进阶:UIPickerView、UITextField 自定义键盘、控制器加载与导航控制器 本文涵盖 UIPickerView 选择器、UITextField 代理与自定义键盘、KVC 字典转模型底层、Storyboard/XIB 加载控制器、控制器 view 生命周期、UINaviga 阅读全文
posted @ 2015-07-28 22:25 Mr.陳 阅读(1909) 评论(0) 推荐(0)
摘要: iOS 核心概念:Info.plist、UIApplication、UIWindow 与启动流程 本文系统梳理 iOS 开发中四个基础核心概念:Info.plist 配置、UIApplication 单例、UIApplicationDelegate 生命周期、UIWindow 层级,以及完整的 Ap 阅读全文
posted @ 2015-07-27 23:57 Mr.陳 阅读(547) 评论(0) 推荐(0)
摘要: iOS 键盘通知全解析:监听、适配与动画同步 键盘弹出/隐藏时需要调整视图位置避免内容被遮挡。本文详细讲解键盘通知的种类、userInfo 字段、坐标系转换、动画同步,以及 Safe Area 和现代 API 的适配。 一、键盘通知种类 系统在键盘状态变化时发送六种通知: 通知名 触发时机 UIKe 阅读全文
posted @ 2015-07-26 23:59 Mr.陳 阅读(1258) 评论(0) 推荐(0)
摘要: iOS 对象间通信:通知、代理、KVO 与 Block 全解析 iOS 开发中对象间通信有四种核心方式:通知(Notification)、代理(Delegate)、键值观察(KVO)和 Block。本文详细讲解每种方式的用法、底层机制、适用场景,并通过购物车案例对比实现。 一、通知(Notifica 阅读全文
posted @ 2015-07-26 01:25 Mr.陳 阅读(614) 评论(0) 推荐(0)
摘要: UITableView 动态更新:全局刷新、局部刷新、左滑操作与批量删除 UITableView 的数据动态更新是开发中的常见需求。本文详细讲解全局刷新、局部刷新、左滑操作、编辑模式和批量删除的实现,并分析底层机制与性能优化。 一、前期准备 1. 数据模型 // XMGWine.h @interfa 阅读全文
posted @ 2015-07-24 23:00 Mr.陳 阅读(3210) 评论(0) 推荐(0)
摘要: 纯代码自定义不等高 UITableViewCell:手动计算高度与性能优化 当 Cell 内容高度不固定(如动态文本、可选配图)时,需要手动计算每个 Cell 的高度。本文详细讲解纯代码手动计算不等高 Cell 的完整实现,包括框架模型设计、高度缓存和性能优化。 一、实现思路 手动计算不等高 Cel 阅读全文
posted @ 2015-07-23 23:21 Mr.陳 阅读(4240) 评论(1) 推荐(1)
摘要: Objective-C Runtime 深度解析:数据结构、消息发送与动态特性 Objective-C 是基于 C 语言、加入面向对象特性和消息传递机制的动态语言。Runtime 是其核心,负责方法调用、动态类型检查、方法解析与转发等。本文基于 objc4 开源代码,全面解析 Runtime 的数据 阅读全文
posted @ 2015-07-22 13:50 Mr.陳 阅读(435) 评论(0) 推荐(0)
摘要: NSTimer 内存泄漏深度解析与解决方案 NSTimer 是 iOS 中实现周期性任务的常用工具,但如果管理不当,极易导致内存泄漏。本文深入分析 NSTimer 的引用关系,并提供多种解决方案。 一、问题背景 以下代码创建一个每 3 秒打印 "Fire" 的计时器: @interface Deta 阅读全文
posted @ 2015-07-22 12:57 Mr.陳 阅读(678) 评论(0) 推荐(1)
摘要: KVO(Key-Value Observing)深度解析:属性监听与底层原理 KVO 是 Objective-C 运行时提供的属性监听机制,允许对象在其他对象的属性发生变化时接收通知。它是响应式编程、数据绑定和许多 UIKit 组件(如 UISlider、UISwitch)的底层基础。 一、KVO 阅读全文
posted @ 2015-07-22 00:38 Mr.陳 阅读(308) 评论(0) 推荐(0)
摘要: KVC(Key-Value Coding)深度解析:属性访问、字典转换与集合运算符 KVC(Key-Value Coding)是一种通过字符串键在运行时访问和修改对象属性的机制。它为字典转模型、KVO、Core Data 等技术提供了底层支持,是 Objective-C 运行时的重要特性之一。 一、 阅读全文
posted @ 2015-07-22 00:16 Mr.陳 阅读(331) 评论(0) 推荐(0)
摘要: 自定义 UITableViewCell 全攻略:纯代码、Xib、多类型共存与模型转换 自定义 UITableViewCell 和字典转模型是列表开发的核心技能。本文涵盖纯代码与 Xib 两种自定义方式、Masonry/SnapKit 自动布局、MJExtension/Codable 模型转换、多类型 阅读全文
posted @ 2015-07-20 23:48 Mr.陳 阅读(542) 评论(0) 推荐(0)
摘要: UITableView 深度解析:数据展示、Cell 重用与不等高布局 UITableView 是 iOS 中展示列表数据的核心控件,继承自 UIScrollView,天然支持垂直滚动和高性能的 Cell 重用机制。本文从基础用法到自定义 Cell、不等高布局,全面解析其工作原理。 一、UITabl 阅读全文
posted @ 2015-07-19 22:52 Mr.陳 阅读(1574) 评论(0) 推荐(0)
摘要: iOS 适配与布局全解析:点像素、Autoresizing、Auto Layout 与 Masonry 适配、布局和分辨率是 iOS 开发的基础概念。理解点与像素的关系、Autoresizing 与 Auto Layout 的演进,以及 Masonry 等高效布局工具,是构建多设备兼容应用的关键。 阅读全文
posted @ 2015-07-19 00:28 Mr.陳 阅读(519) 评论(0) 推荐(0)
摘要: UIButton 内边距与 UIImage 拉伸深度解析 UIButton 的内边距控制与 UIImage 的拉伸是实现自适应按钮样式的核心技能。本文详细解析三种内边距属性的区别、图片拉伸的演进历程与现代最佳实践。 一、UIButton 的内边距 UIButton 提供三种内边距属性,分别控制整体内 阅读全文
posted @ 2015-07-17 23:05 Mr.陳 阅读(3997) 评论(0) 推荐(0)
摘要: iOS 提示框(HUD)全解析:文本提示、系统弹窗与自定义 HUD 提示框(HUD,Heads-Up Display)是为用户提供即时反馈的关键 UI 元素。本文详细介绍文本提示框、系统自带弹窗(UIAlertView、UIActionSheet、UIAlertController)以及自定义 HU 阅读全文
posted @ 2015-07-17 22:37 Mr.陳 阅读(1039) 评论(0) 推荐(0)
摘要: UIScrollView 深度解析:滚动、缩放与图片轮播 UIScrollView 是 iOS 中最核心的滚动控件,UITableView、UICollectionView、UITextView 等都继承自它。掌握其基本用法、代理回调、缩放机制及轮播实现,是构建复杂交互界面的基础。 一、基本用法 使 阅读全文
posted @ 2015-07-16 22:28 Mr.陳 阅读(1107) 评论(0) 推荐(0)
摘要: 自定义 View 进阶:构造方法、layoutSubviews 与 Xib 在 iOS 开发中,自定义 View 是构建可复用 UI 组件的核心手段。本文详细介绍自定义构造方法、layoutSubviews 布局机制、Xib 文件以及通过 Xib 自定义 View 的完整流程,并分析其底层逻辑。 一 阅读全文
posted @ 2015-07-15 14:04 Mr.陳 阅读(801) 评论(0) 推荐(0)
摘要: iOS 开发核心模式:懒加载、Plist、字典转模型与自定义 View 在 iOS 开发中,掌握高效的开发模式能显著提升代码的可读性与可维护性。本文详细介绍懒加载、Plist 文件操作、字典转模型和自定义 View 四个核心知识点,并分析其底层逻辑。 一、懒加载(Lazy Loading) 懒加载是 阅读全文
posted @ 2015-07-15 13:10 Mr.陳 阅读(655) 评论(0) 推荐(0)
摘要: 深度解析 UIButton:高阶用法与封装工具类 UIButton 是 iOS 开发中最常用的交互控件之一,继承自 UIControl,用于响应用户触摸操作。它支持多种状态样式、图文混排和事件处理。本文从基础用法出发,逐步深入高阶技巧、工具类封装与底层实现。 一、基础使用 1.1 按钮类型 UIBu 阅读全文
posted @ 2015-07-15 02:52 Mr.陳 阅读(520) 评论(0) 推荐(0)
摘要: Xcode 资源管理详解:资源导入、Asset Catalog 与 imageNamed: 在 iOS 开发中,图像资源的正确导入与高效使用是基础技能。本文深入探讨 Xcode 中添加资源时的各个选项、Asset Catalog 的工作原理,以及 imageNamed: 的底层查找逻辑。 一、Cop 阅读全文
posted @ 2015-07-15 02:38 Mr.陳 阅读(1014) 评论(0) 推荐(0)
摘要: iOS 图像处理详解:UIImage、UIImageView 与 UIViewContentMode 在 iOS 开发中,UIImage 负责图像数据的加载与处理,UIImageView 负责图像的展示,UIViewContentMode 则控制内容在视图内的缩放与对齐方式。三者配合,覆盖了图像从加 阅读全文
posted @ 2015-07-15 02:19 Mr.陳 阅读(4684) 评论(0) 推荐(0)
摘要: iOS 基础控件详解:UILabel、UIImageView 与 UIButton 在 iOS 开发中,UILabel、UIImageView 和 UIButton 是三个最常用的 UI 组件。理解它们的特点、用法及底层实现,有助于在不同场景下做出正确选择。 一、UILabel UILabel 用于 阅读全文
posted @ 2015-07-15 01:54 Mr.陳 阅读(658) 评论(0) 推荐(0)
摘要: 第一个 iOS 程序:控制器、IBAction / IBOutlet 与 UIView 开篇示例 下面是一个最基础的交互程序:故事板上放置一个 UILabel 和三个按钮,点击不同按钮修改 Label 的文字颜色与样式。 Objective-C ViewController.h #import <U 阅读全文
posted @ 2015-07-14 01:39 Mr.陳 阅读(4718) 评论(0) 推荐(0)
摘要: 博客是一种消化吸收知识再以自己的语言重新呈现的方式,有助于学习的过程 (私人交流)。我觉得这是很宝贵的经验,而我自己的体会也正在不断验证这一点。写博客并不仅仅是“让别人看到”,更是“让自己学习”。写博客可以帮助作者本人认知和学习,也可让作者获得心理满足。每一个深入思索技术的人,都应该使用博客。笔者将 阅读全文
posted @ 2015-07-14 00:47 Mr.陳 阅读(484) 评论(0) 推荐(0)