Skip to content

itcharge/iOS-Codes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iOS-Codes

一个精心整理的 iOS 开发代码示例集合,包含各种实用功能和开发技巧。

📱 项目简介

本项目收集了多个 iOS 开发中的实用示例代码,涵盖了多线程编程、网络请求、应用间跳转、崩溃防护、运行时编程等核心知识点。每个示例都包含详细的代码注释和说明,适合 iOS 开发者学习和参考。

🚀 快速开始

  1. 克隆项目到本地
git clone https://github.com/itcharge/iOS-Codes.git
  1. 进入项目目录
cd iOS-Codes
  1. 选择感兴趣的示例项目,使用 Xcode 打开对应的 .xcodeproj 文件

📚 示例代码导航

🔗 应用间跳转

  • YSC-AppAJumpToAppB - iOS 应用间的跳转 Demo
    • 应用 A 跳转到应用 B
    • 应用 A 跳转到应用 B 的特定界面
    • 从应用 B 跳转回应用 A
    • 支持 URL Scheme 和 Universal Links

🛡️ 崩溃防护

  • YSC-Avoid-Crash - iOS 崩溃防护机制
    • Unrecognized Selector Crash 防护
    • KVO Crash 防护
    • KVC Crash 防护
    • Notification Crash 防护
    • NSTimer Crash 防护
    • Containers Crash 防护
    • NSNull Crash 防护

🧩 Blocks 编程

  • YSC-Blocks-Demo - Blocks 编程示例
    • Blocks 基本语法和使用
    • Blocks 变量捕获机制
    • __block 修饰符的使用
    • Blocks 循环引用问题及解决方案

📦 Category 分类

  • YSC-Category-Demo - Category 分类使用示例
    • Category 基本用法
    • Category 方法覆盖
    • Category 与原始类的关系

📋 类详情列表

📥 文件下载

  • YSC-DownloadDemo - iOS 文件下载演示
    • NSData 下载小文件
    • NSURLConnection 下载文件
    • NSURLSession 下载文件
    • 断点续传下载
    • AFNetworking 下载文件
    • 支持离线断点续传

🔄 多线程编程

GCD (Grand Central Dispatch)

  • YSC-GCD-demo - GCD 多线程编程示例
    • 同步/异步执行
    • 串行/并发队列
    • 主队列操作
    • 线程间通信
    • 栅栏方法 (dispatch_barrier_async)
    • 延时执行 (dispatch_after)
    • 一次性代码 (dispatch_once)
    • 快速迭代 (dispatch_apply)
    • 队列组 (dispatch_group)
    • 信号量 (dispatch_semaphore)
    • 线程安全控制

NSOperation

  • YSC-NSOperation-demo - NSOperation 多线程编程示例
    • NSInvocationOperation 使用
    • NSBlockOperation 使用
    • 自定义 NSOperation 子类
    • NSOperationQueue 队列管理
    • 操作依赖关系
    • 操作优先级设置
    • 线程间通信
    • 线程安全控制

pthread & NSThread

  • YSC-pthread-NSThread-demo - pthread 和 NSThread 使用示例
    • pthread 基本使用
    • NSThread 基本使用
    • 线程间通信
    • 线程安全控制
    • 图片下载示例

🔄 RunLoop

  • YSC-RunLoopDemo - RunLoop 使用示例
    • RunLoop 基本概念
    • RunLoop 运行模式
    • RunLoop 观察者
    • RunLoop 定时器
    • RunLoop 与线程的关系

🔧 Runtime 编程

  • YSC-Runtime-MethodSwizzling - Runtime 和 Method Swizzling 示例
    • Runtime 基本概念
    • Method Swizzling 实现
    • 动态方法解析
    • 消息转发机制
    • 类对象和元类对象
    • 实例变量和属性
    • 方法交换实践

🛠️ 技术栈

  • 开发语言: Objective-C
  • 开发环境: Xcode
  • 最低支持: iOS 8.0+
  • 第三方库: AFNetworking (部分示例)

📖 学习建议

  1. 多线程编程: 建议按照 pthread → NSThread → GCD → NSOperation 的顺序学习
  2. 网络编程: 从 NSData → NSURLConnection → NSURLSession → AFNetworking 逐步深入
  3. Runtime 编程: 先理解基本概念,再实践 Method Swizzling
  4. 崩溃防护: 了解常见崩溃类型,学习防护机制

🤝 贡献

欢迎提交 Issue 和 Pull Request 来改进这个项目!

📄 许可证

本项目采用 Apache-2.0 许可证 - 查看 LICENSE 文件了解详情。

⭐ 支持

如果这个项目对你有帮助,请给它一个 ⭐️!


注意: 请确保在真机上测试应用间跳转功能,模拟器可能无法完全模拟应用间跳转的场景。

About

一个精心整理的 iOS 开发代码示例集合,包含各种实用功能和开发技巧。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages