使用 ObjectMapper 和 Realm 在数据库中映射单个数组
Map single array in database with ObjectMapper and Realm
所以我有以下 JSON:
{
result: [
" Sans Marque",
"'t Boerinneke",
"1 mètre de bière",
"1ste prijs",
"2Force",
"2K Games ",
"3M",
"4711",
"505 Games",
"8x4",
"ABB",
"ACO",
...
]
}
我正尝试通过以下方式使用 ObjectMapper 进行映射:
class AutoCompleteResult: Mappable {
var result:[AutoComplete]?
required init?(_ map: Map) {
}
func mapping(map: Map) {
result <- map["result"]
}
}
class AutoComplete: Object, Mappable {
dynamic var search: String?
required convenience init?(_ map: Map) {
self.init()
}
func mapping(map: Map) {
//var categories: [Int]? = nil
search <- map[""]
}
}
它没有在我的 Realm 数据库中填充任何内容。由于没有键,我不能使用搜索 <- map["id"] 的方式。
有谁知道如何将这些结果放入我的 Realm 数据库中?
谢谢!
你能试试下面的代码吗?我认为 ObjectMapper 不能将数组直接串到 RealmObject classes 的数组。所以先将字符串数组存储到一个临时变量中,然后枚举数组以从字符串实例化模型class,然后附加它。
class AutoCompleteResult: Mappable {
var result: [AutoComplete]?
required init?(_ map: Map) {
}
func mapping(map: Map) {
var result: [String]?
result <- map["result"]
if let result = result {
self.result = [AutoComplete]()
for search in result {
let autoComplete = AutoComplete()
autoComplete.search = search
self.result?.append(autoComplete)
}
}
}
}
class AutoComplete: Object {
dynamic var search: String?
}
所以我有以下 JSON:
{
result: [
" Sans Marque",
"'t Boerinneke",
"1 mètre de bière",
"1ste prijs",
"2Force",
"2K Games ",
"3M",
"4711",
"505 Games",
"8x4",
"ABB",
"ACO",
...
]
}
我正尝试通过以下方式使用 ObjectMapper 进行映射:
class AutoCompleteResult: Mappable {
var result:[AutoComplete]?
required init?(_ map: Map) {
}
func mapping(map: Map) {
result <- map["result"]
}
}
class AutoComplete: Object, Mappable {
dynamic var search: String?
required convenience init?(_ map: Map) {
self.init()
}
func mapping(map: Map) {
//var categories: [Int]? = nil
search <- map[""]
}
}
它没有在我的 Realm 数据库中填充任何内容。由于没有键,我不能使用搜索 <- map["id"] 的方式。 有谁知道如何将这些结果放入我的 Realm 数据库中? 谢谢!
你能试试下面的代码吗?我认为 ObjectMapper 不能将数组直接串到 RealmObject classes 的数组。所以先将字符串数组存储到一个临时变量中,然后枚举数组以从字符串实例化模型class,然后附加它。
class AutoCompleteResult: Mappable {
var result: [AutoComplete]?
required init?(_ map: Map) {
}
func mapping(map: Map) {
var result: [String]?
result <- map["result"]
if let result = result {
self.result = [AutoComplete]()
for search in result {
let autoComplete = AutoComplete()
autoComplete.search = search
self.result?.append(autoComplete)
}
}
}
}
class AutoComplete: Object {
dynamic var search: String?
}