extension Encodable { func toDictionary() -> [String: Any]? { do { let encoder = JSONEncoder() let data = try encoder.encode(self) let dictionary = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [String: Any] return dictionary } catch { print("Error converting to dictionary:", error) return nil } } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter