首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
后端
前端
Android
iOS
人工智能
开发工具
代码人生
阅读
iPhone屏幕尺寸、分辨率、PPI和使用123倍图
iPhone屏幕(英寸) 密度(ppi) 开发尺寸(pt) 像素尺寸(px) 宽高比 倍图 安全区域(pt) 状态栏高(pt)
B2EB - 纸质书籍转电子书
借阅书怕过期?买书太贵?低门槛转 PDF,随时读、任意改,告别浪费! ・纸质书→PDF,精准转档无压力 ・编辑 / 分享 / 排版,全由你掌控 — 如裁剪、移动、旋转、缩放、重命名、删除、预览等 ・i
头部互联网公司AI产品 招 客户端开发工程师(Android/IOS)
头部互联网公司的AI产品 招客户端开发工程师(Android/IOS),要求聪明,高潜~紧急招聘,流程快!1-7年工作经验优先。 地点: 北京、上海。 感兴趣欢迎留言
14-14.【模块化与包管理】为什么 protocol + default implementation 有时会破坏模块边界?如何避免?
在 Swift 中,Protocol + Default Implementation(协议 + 默认实现) 是一把双刃剑。虽然它提供了强大的“混入”(Mixin)能力,但在多模块架构下,它常会引发逻
14-13.【模块化与包管理】如何在模块化项目中保证“逻辑层不可访问 UI 层”或“核心模块不可访问特定实现”?
在模块化项目中,保证依赖倒置(Dependency Inversion)和分层隔离,本质上是防止“依赖污染”。如果核心逻辑模块(Domain/Core)能够直接引用 UI 模块,项目很快就会演变成难以
14-12.【模块化与包管理】Swift 中 internal、fileprivate、private、public、open 的作用和适用场景?
在 Swift 中,访问控制(Access Control)遵循一个核心原则:实体只能在它被定义的上下文中访问,除非你显式提升了它的权限。 这五个关键字构成了 Swift 的权限金字塔,从最严格到最宽
14-11.【模块化与包管理】什么是 incremental build 和 module cache?如何利用它们优化 Swift 编译性能?
在 Swift 编译体系中,Incremental Build(增量编译) 和 Module Cache(模块缓存) 是决定开发者日常“修改-运行”循环效率的两大核心机制。理解并优化它们,能让你从漫长
14-10.【模块化与包管理】多模块项目中,如何优化 Xcode 编译时间?(例如 target 数量多、依赖复杂的场景)
在多模块、高复杂度依赖的 Xcode 项目中,编译速度慢通常源于无效的递归编译、串行构建任务过多以及重复的类型检查。 优化核心在于:打破依赖链、减少重复劳动、利用编译器缓存。 1. 架构级优化:打破依
14-9.【模块化与包管理】如何判断一个模块应该拆分成独立 target / package,还是保持在现有模块内部?
判断一个功能是应该留在原地,还是独立为 Target(包内模块)或 Package(独立包),本质上是在开发便利性与架构严谨性之间做权衡。 你可以通过以下四个维度来进行决策: 1. 变动频率与稳定性
14-8.【模块化与包管理】模块拆分的核心原则是什么?依赖方向如何设计?
模块拆分(Modularity)不仅仅是将代码移动到不同的文件夹或 Package,它的核心目标是降低耦合、缩短编译时间、提高代码复用率以及实现并行开发。 在 Swift/iOS 开发中,模块拆分应遵
14-7.【模块化与包管理】如何在 SPM 或 Xcode 项目中正确发布和依赖二进制 XCFramework,保证模块隔离和向后兼容?
要在 SPM 或 Xcode 项目中正确发布和依赖二进制 XCFramework,并确保模块隔离与向后兼容,需要从编译配置、分发策略和版本控制三个维度进行设计。 以下是实现这一目标的专业指南: 一、
14-6.【模块化与包管理】XCFramework 支持哪些平台和架构?如何在多平台项目中集成?
XCFramework 的核心优势在于它是一个“多平台容器”,能够在一个包内安全地存储针对不同操作系统和指令集架构编译的二进制文件。 以下是它支持的平台、架构以及在多平台项目中的集成指南: 1. XC
14-5.【模块化与包管理】Binary Framework 与 XCFramework 的区别及各自使用场景?
在 Swift 生态中,理解这两者的区别对于 SDK 开发和项目构建至关重要。简单来说,Binary Framework 是一个通用的概念,而 XCFramework 是苹果目前官方推荐的、实现该概念
14-4.【模块化与包管理】如何利用 SPM 支持版本化、二进制包以及本地包开发的混合使用?
在 Swift Package Manager (SPM) 的实际开发中,混合使用版本化远程库(Versioned) 、**本地模块(Local)和二进制框架(Binary)**是大型项目解耦、加速编
iOS 开发11 种锁全解析
iOS 开发必备:11 种锁全解析(含自旋 / 阻塞原理 + 实战场景) 在 iOS 多线程开发中,锁是解决资源竞争、数据错乱的核心手段,不同锁的底层实现、自旋 / 阻塞特性、性能和适用场景差异显著。
14-3.【模块化与包管理】如何在 SPM 中实现跨模块的测试 target 与可执行 target 共享代码?
在 Swift Package Manager (SPM) 中,实现跨模块共享代码的核心逻辑是:将共享代码提取到一个独立的 target,并将其作为其他 target 的依赖项。 SPM 不允许 te
14-2.【模块化与包管理】SPM 中的 target、product、dependencies 有什么区别?如何合理规划多模块依赖?
在 Swift Package Manager (SPM) 中,理解 target、product 和 dependencies 的区别是构建模块化项目的基石。简单来说,它们分别代表了代码的构建单元、
14-1.【模块化与包管理】Swift Package Manager 的依赖解析机制是怎样的?如何解决依赖冲突?
Swift Package Manager (SPM) 的依赖解析机制是一个基于**语义化版本(Semantic Versioning, SemVer)**的递归搜索过程。其核心目标是找到一个能够满足
13-29.【Combine】如何优化 SwiftUI + Combine 的 diff 和订阅链,避免频繁重绘和 ARC 压力?
在 SwiftUI 与 Combine 结合的架构中,性能瓶颈通常出现在两个地方:View 层频繁触发不必要的 body 计算(Diff 压力) ,以及 Combine 链条在高频更新下产生的对象分配
13-28.【Combine】如何分析 Combine 流的 retain cycle / memory leak?典型原因有哪些?
分析 Combine 的内存泄漏(Memory Leak)或循环引用(Retain Cycle)其实和分析普通的 Swift 闭包类似,但因为 Combine 是声明式且具有链式调用的特性,引用关系往
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30