这篇笔记主要是介绍 CoreData 和 TableView 一起使用时候的方法。 使用 CoreData 应用中有很多列表展示的场景底层数据需要读取本地数据,我以前的做法并没有遵循官方文档的做法使用 [NSFetchedResultsController](https://www.google.com/search?q=NSFetchedResultsController&oq=NSFetch ...
这篇笔记主要是介绍 CoreData 和 TableView 一起使用时候的方法。 使用 CoreData 应用中有很多列表展示的场景底层数据需要读取本地数据,我以前的做法并没有遵循官方文档的做法使用 [NSFetchedResultsController](https://www.google.com/search?q=NSFetchedResultsController&oq=NSFetch ...
Xcode14 新增加了一个 Thread Performance Checker tool 的功能,这个工具就是帮助你尽可能早的发现性能相关的问题并解决。我是在使用 DispatchGroup 相关的 API 的时候意识到这个工具的,因为它给我报警告了。 我之前使用 DispatchGroup 的方式大概是下面这样的, func viewDidLoad() { le ...
这篇笔记主要是参考苹果官方文档的配置流程来介绍 CoreData 如何配置支持 CloudKit,按步骤介绍一下整体的流程 创建工程 在创建工程的时候勾选使用 CoreData,以及 Host in iCloud,这样会在初始化 CoreData Stack 的时候直接使用 NSPersistentCloudKitContainer 进行初始化,`NSPersistentCloudK ...
这篇文章主要是介绍如何在 CoreData 中使用多个 Context(本文中提到的 Context 都指的是 NSManagedContext) 多 Context 基础概念 CoreData 并不是线程安全的,如果不额外创建线程的话 CoreData 就是一直在主线程运行的。但是有一些情况是需要额外创建线程去进行 CoreData 操作。这时候就要格外注意 `NSManagedObj ...
这篇文章主要是总结一些常见的 CoreData 的操作。 我们先定义数据结构如下,这里我们的数据结构对应代码的生成方式是 Xcode 自动生成的,看图右侧的 Class → Codegen 部分。 coredata > 对于每个属性还有更细致的设置,比如如果你不想要某个属性持久化,而是临时使用,可以设置属性为 Transient,等这部 ...
这篇笔记主要是介绍一些 CoreData 的基本概念。Core Data 是苹果提供的数据持久化方案。相对于 Sqlite,CoreData 提供了原生的 ORM 的支持,以及可以和苹果的 Cloud 服务进行通信,对于独立开发者来说,这是成本很低的数据存储方案,目前也是很多开发者使用的技术栈。 Core Data 我自己感觉稍微有一定的使用门槛,不过苹果这几年也在不断地降低CoreData A ...
最近看深入理解计算机系统内存章节部分,看完之后想着实操一下,于是从最熟悉的 macOS/iOS 下手,看一下进程的虚拟内存区域是如何分布的。 直接上代码 int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"He ...
抓普通 HTTP 请求的原理 如果是抓普通的 HTTP 请求的话,Charles 就是一个 HTTP 代理。 > An HTTP Proxy is a server that receives requests from your web browser and then makes the request to the Internet on your behalf. It ...
YYAsyncLayer 是进行视图异步渲染的一个库。它的主要实现思路是 替换原有的 UIView 视图的 CALayer 类为 YYAsyncLayer。 在 YYAsyncLayer 里面的绘制方法里,创建异步绘制的上下文进行异步绘制,将具体的视图绘制外包给原有的视图去做,最后在异步绘制得到 Image 图片,通过主线程赋值给 CALayer 的 `con ...
本文尝试通过 STAR 原则拆解成Susu这个项目。 Situation 情景 Task 任务 Action 行动 Result 结果 业务介绍 Susu是一个线上的陌生人社交业务。目前全平台日活差不多 xx 万左右,具体在 iOS 上大概是 xx 万左右。 个人职责 团队之前是四个人,我的职责 IM SDK 部分的接入以及界面定制 视频 S ...