小编Jon*_*s W的帖子

SwiftUI 无法可靠地将更改传播到子视图

我在 SwiftUI 代码中观察到一种奇怪的行为,并将其范围缩小到以下最小示例。

给定这个示例存储,其中包含书籍模型结构的数组。

struct Book: Identifiable {
    let id: UUID
    var likes: Int
    var unusedProperty: String = ""
}

extension Book: Equatable {
    static func == (lhs: Book, rhs: Book) -> Bool {
        return lhs.id == rhs.id
    }
}

class MyStorage: ObservableObject {

    @Published var books: [Book] = [
        .init(id: .init(uuidString: "B2A44450-BC03-47E6-85BE-E89EA69AF5AD")!, likes: 0),
        .init(id: .init(uuidString: "F5AB9D18-DF73-433E-BB48-1C757CB6F8A7")!, likes: 0)
    ]

    func addLike(to book: Book) {
        for i in books.indices where books[i].id == book.id {
            books[i].likes += 1
        }
    } …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui combine

1
推荐指数
1
解决办法
308
查看次数

标签 统计

combine ×1

ios ×1

swift ×1

swiftui ×1