Это продолжение одного из моих предыдущие вопросы здесь. Мне нужно было сопоставить массив types
в моей базе данных Realm, который состоит только из одного слова (иногда двух), с помощью ObjectMapper.
Это JSON:
{
"result": [
{
"id": 20,
"types": [
"now"
],
"url": "/nl/whereto/ezrhgerigerg"
},
Я получил следующий обходной путь, который частично сработал:
func mapping(map: Map) {
...
var typez: [String]? = nil
typez <- map["types"]
typez?.forEach { t in
let obj = getType()
obj.text = t
self.typez.append(obj)
}
И мой класс getType()
, который является объектом:
class getType: Object, Mappable {
dynamic var text: String?
required convenience init?(_ map: Map) {
self.init()
}
func mapping(map: Map) {
text <- map[""]
}
}
Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда я вызываю бэкэнд, база данных не обновляет данные в типах (или удаляет их и захватывает новые), она просто накапливает их! Это делает мою базу данных getType более чем 280 строками после некоторых вызовов, в то время как она присутствует только в 10 объектах.
После x количества вызовов серверной части это вызовет серьезную проблему. Кто-нибудь знает, что мне делать?