在SwiftUI beta 5中,Apple引入了@Published批注。该注释当前阻止此类符合Codable协议。
如何符合这些协议,以便可以将此类编码和解码为JSON?您现在可以忽略image属性。
class Meal: ObservableObject, Identifiable, Codable {
enum CodingKeys: String, CodingKey {
case id
case name
case ingredients
case numberOfPeople
}
var id = Globals.generateRandomId()
@Published var name: String = "" { didSet { isInputValid() } }
@Published var image = Image("addImage")
@Published var ingredients: [Ingredient] = [] { didSet { isInputValid() } }
@Published var numberOfPeople: Int = 2
@Published var validInput = false
func isInputValid() {
if name != "" && ingredients.count > 0 { …
Run Code Online (Sandbox Code Playgroud)