首页 > 解决方案 > 如何发布 CoreData 实体扩展?

问题描述

我在我的 SwiftUI 应用程序中使用 CoreData。为了更好地处理,我向 CoreData 类添加了一些包装器,如下所示:

extension Category {
    public var wrappedName: String {
        name ?? ""
    }
}

到目前为止,这工作正常。但是现在我还需要观察这个包装器,并且我将其Category用作StateObject. 因此,我想像这样发布它:

extension Category {
    @Published public var wrappedName: String {
        name ?? ""
    }
}

这是触发错误:Non-static property 'wrappedName' declared inside an extension cannot have a wrapper

如果我删除@Published我得到一个错误@StateObject

Property type 'Category?' does not match that of the 'wrappedValue' property of its wrapper type 'StateObject'

如何解决这个问题?

标签: swiftswiftuiwrapper

解决方案


推荐阅读