J'essaie d'implémenter le scénario ci-dessous, mais je fais face au problème
class CommentsModel: Object {
dynamic var commentId = ""
dynamic var ownerId: UserModel?
dynamic var treeLevel = 0
dynamic var message = ""
dynamic var modifiedTs = NSDate()
dynamic var createdTs = NSDate()
//facing issue here
dynamic var childComments = List<CommentsModel>()
}
J'ai un modèle de commentaires qui a des propriétés non facultatives dans lesquelles childComments est une liste de la même classe de modèle de commentaires. En cela, quand je déclare dynamic var childComments = List<CommentsModel>()
il me montre que la propriété ne peut pas être marquée dynamique car son type ne peut pas être représenté en Objective-C.
S'il vous plaît, aidez-moi à atteindre mes objectifs
Les propriétés List et RealmOptional ne peuvent pas être déclarées comme dynamiques car les propriétés génériques ne peuvent pas être représentées dans le runtime Objective-C, utilisé pour l'envoi dynamique des propriétés dynamiques, et doivent toujours être déclarés avec let.
En savoir plus dans Docs .
Donc, vous devriez déclarer childComments
de cette façon:
let childComments = List<CommentsModel>()
Juste pour rendre plus compréhensible la façon dont vous pouvez ajouter des données à la liste bien qu’elle soit déclarée comme let
.
import Foundation
import RealmSwift
import Realm
class Goal: Object {
//List that holds all the Events of this goal
let listOfEvents = List<CalEvent>()
required public convenience init(eventList: List<CalEvent>) {
self.init()
for event in eventList {
//Append the date here
self.listOfEvents.append(i)
}
}
}