问题描述
问题:如何在表格视图中使用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
,以摆脱丑陋的蛇案名称。