Swift 4:使用Codable`通用参数’T’无法推断
发布时间:2020-12-14 02:29:29 所属栏目:百科 来源:网络整理
导读:我收到以下错误: 无法推断出通用参数“T” 在线:让data = try encoder.encode(obj) 这是代码 import Foundationstruct User: Codable { var firstName: String var lastName: String}let u1 = User(firstName: "Ann",lastName: "A")let u2 = User(firstNam
我收到以下错误:
无法推断出通用参数“T” 在线:让data = try encoder.encode(obj) 这是代码 import Foundation struct User: Codable { var firstName: String var lastName: String } let u1 = User(firstName: "Ann",lastName: "A") let u2 = User(firstName: "Ben",lastName: "B") let u3 = User(firstName: "Charlie",lastName: "C") let u4 = User(firstName: "David",lastName: "D") let a = [u1,u2,u3,u4] var ret = [[String: Any]]() for i in 0..<a.count { let param = [ "a" : a[i],"b" : 45 ] as [String : Any] ret.append(param) } let obj = ["obj": ret] let encoder = JSONEncoder() encoder.outputFormatting = .prettyPrinted let data = try encoder.encode(obj) // This line produces an error print(String(data: data,encoding: .utf8)!) 我究竟做错了什么?
该消息具有误导性,真正的错误是obj的类型为[String:Any],它不符合Codable,因为Any没有.
当你想到它时,Any永远不会符合Codable.当Swift可以是整数,字符串或对象时,Swift会用什么来存储JSON实体?您应该定义一个适当的结构来保存您的数据. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 检查Oracle中是否存在一行的最快查询?
- ruby-on-rails – Rails 5控制台需要macOS Sierra上的readl
- iphone – xcode应用程序提交错误:“找不到符合条件的软件
- 正则表达式-零宽断言
- 正则表达式匹配空间不在括号,赞美或平方的barackets
- 对于Freescale MFG编程工具控制文件ucl.xml的分析
- 如果ViewGroup的宽度在xml中是’match_parent’/’fill_par
- 前端react+redux+koa写的博客推荐
- Quick cocos2dx-Lua(V3.3R1)学习笔记(十二)----使用Cocos
- ios – 导航栏按钮项目色调