Swift 最佳实践
SwiftLint 代码检查、API 设计指南、命名规范、SwiftUI vs UIKit
Swift 最佳实践
SwiftLint 保证代码风格一致,API 设计指南是 Swift 社区的核心文档。
学完本章你将: 掌握 SwiftLint、API 设计指南、SwiftUI vs UIKit。
SwiftLint
bash
brew install swiftlint
swiftlint # 检查代码
swiftlint --fix # 自动修复
yaml
# .swiftlint.yml
line_length: 120
force_cast: warning
force_try: error
API 设计指南
swift
// ✅ 清晰优于简洁
extension List {
mutating func remove(at position: Index) -> Element
}
// 不是: x.remove(p) —— 不清晰
// ✅ 方法名读起来像英文
list.remove(at: 2)
array.insert("Hello", at: 0)
// ✅ 工厂方法以 make 开头
var iterator = list.makeIterator()
SwiftUI vs UIKit
swift
// UIKit —— 命令式
let label = UILabel()
label.text = "Hello"
// SwiftUI —— 声明式(推荐新项目)
struct ContentView: View {
var body: some View {
Text("Hello")
.font(.title)
.foregroundColor(.blue)
}
}
性能提示
swift
// ✅ 优先使用 struct(值类型——栈分配)
// ✅ 需要引用语义时才用 class
// ✅ 用 lazy var 延迟初始化
// ✅ 用 final 标记不可继承的 class(优化派发)
// ✅ 用 private/fileprivate 限制访问(优化编译)