Код: Выделить всё
DecodableType 'Landmark' does not conform to protocol 'Decodable'
Type 'Landmark' does not conform to protocol 'Encodable'
and
In expansion of Macro Model < /code> здесь: < /p>
не может автоматически синтезировать «декодируемый», потому что «любой swiftdata.backingdata» не соответствует «декоратируемому» < /p>
< /blockquote>
Код: Выделить всё
import Foundation
import SwiftUI
import CoreLocation
import SwiftData
@Model
final class Landmark: Hashable, Codable, Identifiable {
var id: Int
var name: String
var park: String
var state: String
var dezcription: String
var isFavorite: Bool
var isFeatured: Bool
var category: Category
private var coordinates: Coordinates
private var imageName: String
init(id:Int = Int.random(in: 2000...Int.max), name:String = "", park: String = "", state:String = "", dezcription: String = "", isFavorite: Bool = false, isFeatured:Bool = false, category: Category = Category.mountains, coordinates: Coordinates = Coordinates(latitude: 0, longitude: 0), imageName:String = "umbagog") {
self.id = id
self.name = name
self.park = park
self.state = state
self.dezcription = dezcription
self.isFavorite = isFavorite
self.isFeatured = isFeatured
self.category = category
self.coordinates = coordinates
self.imageName = imageName
}
enum Category: String, CaseIterable, Codable {
case lakes = "Lakes"
case rivers = "Rivers"
case mountains = "Mountains"
}
var image: Image {
Image(imageName)
}
var locationCoordinate: CLLocationCoordinate2D {
CLLocationCoordinate2D(
latitude: coordinates.latitude,
longitude: coordinates.longitude)
}
struct Coordinates: Hashable, Codable {
var latitude: Double
var longitude: Double
}
}
Чтение DOS и Donts объявления @model class < /li>
Создание изображения war @transient (хотя оно в любом случае рассчитывается, так что это не должно быть необходимым) < /li>
Перемещение координат структуры и категории. «Реальная» переменная UUID, которая на самом деле гарантирована уникальной
Подробнее здесь: https://stackoverflow.com/questions/775 ... odel-for-u
Мобильная версия