extension Dictionary{
public func toTempData()->TemplateData{
var container:Dictionary<String, TemplateData> = [String: TemplateData]()
for (k, value) in self {
let key = "\(k)"
switch value {
case is String:
container[key] = TemplateData.string(value as! String)
break
case is Bool:
container[key] = TemplateData.bool(value as! Bool)
break
case is Int:
container[key] = TemplateData.int(value as! Int)
break
case is Double:
container[key] = TemplateData.double(value as! Double)
break
case is Data:
container[key] = TemplateData.data(value as! Data)
break
case is Dictionary:
container[key] = (value as! Dictionary).toTempData()
break
case is Array<Any>:
container[key] = (value as! Array<Any>).toTempData() as TemplateData
default:
print("")
}
}
return TemplateData.dictionary(container)
}
}
extension Array{
public func toTempData()->TemplateData{
var container: [TemplateData] = [TemplateData]()
for item in self {
switch item {
case is String:
container.append(.string(item as! String))
case is Double:
container.append(.double(item as! Double))
break;
case is Bool:
container.append(.bool(item as! Bool))
break
case is Int:
container.append(.int(item as! Int))
break
case is Data:
container.append(.data(item as! Data))
break
case is Array:
container.append( (item as! Array).toTempData())
break
case is Dictionary<String, Any>:
container.append( (item as! Dictionary<String, Any>).toTempData())
default:
print("")
}
}
return .array(container)
}
}
複製代碼