テーブルビューのビューコントローラは1つあります。データがあると、それはテーブルビューに表示されます。データがない場合は、データラベルを表示する必要はありません。私は以下のコードを使用しました。しかし、このライン上でのクラッシュ:この行の利用可能なデータがありませんテーブルビューにラベルが表示されていません
func numberOfSections(in tableView: UITableView) -> Int {
var numOfSection: NSInteger = 0
if (self.alldata?.count)! > 0 {
self.tableView.backgroundView = nil
numOfSection = 1
} else {
let rect = CGRect(x: 0,
y: 0,
width: self.tableView.bounds.size.width,
height: self.tableView.bounds.size.height)
let noDataLabel: UILabel = UILabel(frame: rect)
noDataLabel.text = "No Data Available"
noDataLabel.textColor = UIColor(red: 22.0/255.0, green: 106.0/255.0, blue: 176.0/255.0, alpha: 1.0)
noDataLabel.textAlignment = NSTextAlignment.center
self.tableView.backgroundView = noDataLabel
}
return numOfSection
}
クラッシュ:if (self.alldata?.count)! > 0 {
クラッシュ:(lldb)
。それ以上の情報はありません。
ありがとうございます!
'self.alldata?.count'これが何を表示するのか –
self.alldataで利用可能なデータがあるかどうかチェックしましたか? –
if(self.alldata?.count)を変更してください! > 0この行をif(self.alldata?.count)?? 0> 0を返します。これは、オプションの値を強制的にアンラッピングするためです。 –