【发布时间】:2021-05-04 07:07:33
【问题描述】:
在将 jsonData 写入 Realm 时,将 Realm 类型 List 数组转换为 Int 数组 [Int] 时遇到问题。
struct Movies: Codable {
let genreIDs: [Int]?
}
class CachedMovies: Object {
let genreIDs: List<Int>?
}
func saveMovies(movies:[Movies]) {
do {
let realm = try! Realm()
try realm.write {
movies.forEach { (movie) in
let movieRealm = CachedMovies()
movieRealm.id = movie.id ?? 0
movieRealm.title = movie.title ?? ""
movieRealm.genreIDs = movie.genreIDs ?? [] // here's error: Cannot assign value of type '[Int]?' to type 'List<Int>?'
realm.add(movieRealm, update: .modified)
}
}
}
我试过了,但是数组是空的
var newArr = Array(movieRealm.genreIDs)
newArr = movie.genreIDs ?? []
我还尝试使用此扩展将列表类型更改为结果并将结果转换为 Int,但它不起作用。
extension Results {
func toArray<T>(type: T.Type) -> [T] {
return compactMap { $0 as ? T }
}
}
您能帮我如何正确分配数组吗?
【问题讨论】:
-
你能给我看看结果吗,我可以帮你。
-
你的意思是什么结果?
-
您要转换的数据类型。
-
感谢您的帮助,任务已解决