目录

iOS macOS

一种在 SwiftUI 环境中方便地访问文件系统的方法。

用法

假设您有一个名为“Project”的数据类型。

struct Project: Codable, Equatable, Container {

    let name: String
    
    // See wiki/typical-implementation
}

通过遵循上述协议,您现在可以创建 Directory<Project>PhotosDirectory<Project>

struct ContentView: View {
    
    @StateObject var store: Directory<Project>
    
    var body: some View {
        List {
            ForEach(store.fetchedItems) { project in
                // do something
            }
        }
        .onAppear(perform: {
            // store.fetchAndWait()
            Task {
               await store.fetch()
            }
        })
    }
        
    // stores permanently to disk
    // triggers UI re-render
    private func addProject() {
        let project = Project(name: "Project " + UUID().uuidString)
        try! store.append(project)
        // See wiki/useful-api for additional functionality.
    }
}

安装

请参考 Swift Package Manager 文档