gpt4 book ai didi

json - 创建单元格默认值 TableView 单元格 swift

转载 作者:行者123 更新时间:2023-11-30 11:23:45 24 4
gpt4 key购买 nike

func downloadJSON(completed: @escaping () -> ()) {
let url = URL(string: "my_URL_FILE")
URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error == nil {
do {
self.notifications = try JSONDecoder().decode([NotificationStats].self, from: data!)
print(self.notifications)
DispatchQueue.main.async {
completed()
}
}catch {
print("JSON Error")

}
}
}.resume()
}

如果 JSON id 为空,我需要在结构中显示一些内容:

struct NotificationStats:Decodable {
let Tipo: String
let Destinatario: String
let MittenteNome: String
let MittenteCognome: String
let DataOra: String
let FotoBici: String
let CoordinataX: String
let CoordinataY: String
let Stato: String
let IdNotifica: String
let IdMittente: String
let IdDestinatario: String
let IdBici: String
let FotoMittente: String
}

我正在通过此调用导入我的结构:

var notifications = [NotificationStats]()

然后我需要在表格 View 中创建一个单元格,例如“无通知”。

我可以为我的结构指定默认值吗?

这是我创建表格 View 的代码

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
print(notifications.count)
return notifications.count

}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 100
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "customCell") as! NotificheCustomTableViewCell
let imgURL = NSURL(string: "my_url/\(notifications[indexPath.row].FotoBici)")
if imgURL != nil{
let data = NSData(contentsOf: (imgURL as URL?)!)
cell.bikeImage?.image = UIImage(data: data! as Data)
}
cell.tipoLabel?.text = "\(notifications[indexPath.row].Tipo.capitalized)"
cell.dataOraLabel?.text = "\(notifications[indexPath.row].DataOra)"

let image = UIImage(named: "arrow-full.png")?.renderResizedImage(newWidth: 30)
let imageViewNew = UIImageView(image: image)

let imageSeen = UIImage(named: "arrow-empty.png")?.renderResizedImage(newWidth: 30)
let imageViewSeen = UIImageView(image: imageSeen)

if (notifications[indexPath.row].Stato == "nuova"){
cell.accessoryView = imageViewNew
}else{
cell.accessoryView = imageViewSeen

}
cell.cellView.layer.cornerRadius = 10

return cell
}

我想了解如何处理现在打印“jsonerror”的 catch 的事实。我想创建一个单元格来显示文本规则,以防程序输入捕获“没有通知您”。

最佳答案

喜欢:

func tableView(tableView: UITableView, footerForHeaderInSection section: Int) -> CGFloat {
if notifications.count > 0 {
return 0
} else {
return hightOfView
}
}
func tableView(tableView: UITableView, viewForfooterInSection section: Int) -> UIView?{
MakeViewForDisplayNoNotification()
}

关于json - 创建单元格默认值 TableView 单元格 swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50985764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com