mcpField
I
ios-swift-development

ios-swift-development

github.com/aj-geddes开发3731.5k 次安装34 周前更新
代码仓库

关于 ios-swift-development

面向 iOS 开发者的 Swift 原生应用开发技能,涵盖 SwiftUI、Combine 和 async/await,并提供 MVVM、网络服务与视图实现指南。

主要功能

  1. 01Swift 原生 iOS 应用开发
  2. 02SwiftUI 界面与视图指南
  3. 03Combine 和 async/await 模式
  4. 04MVVM 架构参考
  5. 05URLSession 网络服务指南

适用场景

  1. 01开发原生 iOS 应用
  2. 02构建声明式 SwiftUI 界面
  3. 03实现异步操作与网络服务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill ios-swift-development

安装后在 Claude Code 中输入/ios-swift-development确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
mvvm-architecture-setup.md
network-service-with-urlsession.md
swiftui-views.md
scripts/
validate-api.sh
templates/
api-scaffold.yaml

详细介绍

iOS Swift 开发

目录

概述

使用 Swift 构建高性能原生 iOS 应用,并采用 SwiftUI、Combine 和 async/await 模式等现代框架。

适用场景

  • 创建性能出色的原生 iOS 应用
  • 利用 iOS 特有的功能和 API
  • 构建需要与硬件紧密集成的应用
  • 使用 SwiftUI 进行声明式 UI 开发
  • 实现复杂的动画和过渡效果

快速入门

最简可运行示例:

import Foundation
import Combine

struct User: Codable, Identifiable {
  let id: UUID
  var name: String
  var email: String
}

class UserViewModel: ObservableObject {
  @Published var user: User?
  @Published var isLoading = false
  @Published var errorMessage: String?

  private let networkService: NetworkService

  init(networkService: NetworkService = .shared) {
    self.networkService = networkService
  }

  @MainActor
  func fetchUser(id: UUID) async {
    isLoading = true
    errorMessage = nil

// ... (see reference guides for full implementation)

参考指南

references/ 目录中的详细实现:

指南内容
MVVM 架构设置MVVM 架构设置
使用 URLSession 的网络服务使用 URLSession 的网络服务
SwiftUI 视图SwiftUI 视图

最佳实践

✅ 应该做
  • 使用 SwiftUI 进行现代 UI 开发
  • 实现 MVVM 架构
  • 使用 async/await 模式
  • 将敏感数据存储在 Keychain 中
  • 妥善处理错误
  • 为 ViewModel 使用 @StateObject
  • 正确验证 API 响应
  • 使用 Core Data 实现持久化
  • 在多个 iOS 版本上测试
  • 使用依赖注入
  • 遵循 Swift 风格指南
❌ 不要做
  • 将令牌存储在 UserDefaults 中
  • 在主线程上发起网络请求
  • 使用已弃用的 UIKit 模式
  • 忽视内存泄漏
  • 跳过错误处理
  • 使用强制解包(!)
  • 在代码中存储密码
  • 忽视无障碍功能
  • 部署未经测试的代码
  • 使用硬编码的 API URL

评论

支持 Markdown