如何解决无法分配“ CLong”类型的值? aka'Optional <Int>'键入'String?' [迅速5]
问题:如何在表格视图中使用DateFormatter(Type:CLong)?
我寻找的类似问题
How to change JSON string to date format in tableview
我在stackoverflow上查找了类似的问题。但是,无法使用Type:CLong。
long是我不熟悉的一种类型,所以我不知道要使用哪种类型。
连接json文件
<div class="container">
<dl class="dropdown">
<dt>
<label style="font-weight:500;">SuperClass</label>
<a href="#">
<input class="hida form-control-sm" style="height:32px; font-weight:400; border:1px solid #d1d3e2;" value="SuperClass Filter" />
</a>
</dt>
<dd>
<div class="mutiSelect">
<ul style="height:auto;">
@Html.Action("_ClasspartialView")
</ul>
</div>
</dd>
</dl>
<dl class="dropdown2">
<dt>
<label style="font-weight:500;">Status:</label>
<a href="#">
<input class="hida form-control-sm" style="height:32px; font-weight:400; border:1px solid #d1d3e2;" value="Status Filter" />
</a>
</dt>
<dd>
<div class="mutiSelectStatus">
<ul style="height:auto;">
<li><input type="checkBox" value="one" onchange="filter()" name="ab" />one</li>
<li><input type="checkBox" value="two" onchange="filter()" name="ab" />two</li>
</ul>
</div>
</dd>
</dl>
</div>
TableViewController
struct BoardList: Codable {
var b_date: CLong?
}
++我必须采用CLong类型。因为服务器值是以这种格式指定的。
解决方法
服务器发送JSON。 JSON中没有类型CLong
,它是Int
。
只要将b_date
声明为Date
,就可以在没有任何日期格式化程序的情况下解码日期。默认的日期解码策略为secondsSince1970
,该整数表示。
let jsonString = """
{"b_date" : 1602813427}
"""
struct BoardList: Codable {
let b_date: Date
}
let data = Data(jsonString.utf8)
do {
let result = try JSONDecoder().decode(BoardList.self,from: data)
print(result)
} catch {
print(error)
}
您还可以指定convertFromSnakeCase
策略并声明结构成员bDate
,以摆脱丑陋的蛇案名称。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。