mirror of
https://github.com/Finb/Bark.git
synced 2025-12-08 21:36:01 +00:00
34 lines
1.1 KiB
Swift
34 lines
1.1 KiB
Swift
//
|
|
// Object+Dictionary.swift
|
|
// Bark
|
|
//
|
|
// Created by huangfeng on 2022/10/20.
|
|
// Copyright © 2022 Fin. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
import RealmSwift
|
|
|
|
extension Object {
|
|
func toDictionary() -> [String: AnyObject] {
|
|
var dicProps = [String: AnyObject]()
|
|
self.objectSchema.properties.forEach { property in
|
|
if property.isArray {
|
|
var arr: [[String: AnyObject]] = []
|
|
for obj in self.dynamicList(property.name) {
|
|
arr.append(obj.toDictionary())
|
|
}
|
|
dicProps[property.name] = arr as AnyObject
|
|
} else if let value = self[property.name] as? Object {
|
|
dicProps[property.name] = value.toDictionary() as AnyObject
|
|
} else if let value = self[property.name] as? Date {
|
|
dicProps[property.name] = Int64(value.timeIntervalSince1970) as AnyObject
|
|
} else {
|
|
let value = self[property.name]
|
|
dicProps[property.name] = value as AnyObject
|
|
}
|
|
}
|
|
return dicProps
|
|
}
|
|
}
|