Any progress on this issue please? I have a base class and two subclass levels like this
@Model
class CreditCardAccount: LiabilityAccount {
}
class LiabilityAccount: Account, LiabilityAccountProtocol {
class Account: Identifiable, AccountProtocol, Codable {
I have multiple classes similar to "CreditCardAccount": and would only instantiate the class at this level so I only need to add @Model to subclasses I want to persist. Hence "Account" and "LiabailityAccount" are not persisted.
Xcode throws up the same suggested code to a ll my subclasses which is the I should add this "@Transient
private var _$backingData: any SwiftData.BackingData = CreditCardAccount.createBackingData()
public var persistentBackingData: any SwiftData.BackingData {
get {
_$backingData
}
set {
_$backingData = newValue
}
}
static var schemaMetadata: [SwiftData.Schema.PropertyMetadata] {
return [
SwiftData.Schema.PropertyMetadata(name: "creditLimit", keypath: \CreditCardAccount.creditLimit, defaultValue: nil, metadata: nil)
]
}
required init(backingData: any SwiftData.BackingData) {
_creditLimit = _SwiftDataNoType()
self.persistentBackingData = backingData
}
@Transient
private let _$observationRegistrar = Observation.ObservationRegistrar()
struct _SwiftDataNoType {
}"
Topic:
App & System Services
SubTopic:
iCloud & Data
Tags: