Ios “无可用数据”标签未显示在表视图中
我有一个带有表视图的视图控制器。当有数据时,它将填充到表视图中。如果没有数据,则不必显示任何数据标签。我使用下面的代码。但它在这条线上崩溃了:Ios “无可用数据”标签未显示在表视图中,ios,swift,xcode,uitableview,Ios,Swift,Xcode,Uitableview,我有一个带有表视图的视图控制器。当有数据时,它将填充到表视图中。如果没有数据,则不必显示任何数据标签。我使用下面的代码。但它在这条线上崩溃了: func numberOfSections(in tableView: UITableView) -> Int { var numOfSection: NSInteger = 0 if (self.alldata?.count)! > 0 { self.tableView.backgroundView =
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)
。我没有得到进一步的信息
提前感谢!崩溃可能是因为
alldata
为零,而您试图在(self.alldata?.count)!
中打开它。请尝试像这样修改它
if self.alldata.count != nil && (self.alldata?.count)! > 0 {
self.tableView.backgroundView = nil
numOfSection = 1
}
崩溃可能是因为
alldata
为零,而您试图在(self.alldata?.count)!
中打开它。请尝试像这样修改它
if self.alldata.count != nil && (self.alldata?.count)! > 0 {
self.tableView.backgroundView = nil
numOfSection = 1
}
您正在强制展开数组,在没有数据时该数组为零。因此它正在崩溃 像这样检查
if let alldata = self.alldata, alldata.count > 0 {
self.tableView.backgroundView = nil
numOfSection = 1
}
您正在强制展开数组,在没有数据时该数组为零。因此它正在崩溃 像这样检查
if let alldata = self.alldata, alldata.count > 0 {
self.tableView.backgroundView = nil
numOfSection = 1
}
将(self.alldata?.count)!>0
更改为self.alldata?.count??0>0
。您正在强制展开(self.alldata?.count)
的结果,因此如果alldata
为零,则强制展开为零
另一方面,在诸如numberOfSections
之类的函数中产生副作用是一种非常糟糕的做法。该函数应该只返回节数,而不做其他操作。将您的UI操作放在其他地方。更改(self.alldata?.count)!>0
到self.alldata?.count??0>0
。您正在强制展开(self.alldata?.count)
的结果,因此如果alldata
为零,则强制展开为零
另一方面,在诸如
numberOfSections
之类的函数中产生副作用是一种非常糟糕的做法。该函数应该只返回节数,而不做任何其他操作。将您的UI操作放在其他地方。检查self.alldata?.count
此打印的内容您是否检查self.alldata?C中是否有可用的数据将if(self.alldata?.count)!>0此行更改为if(self.alldata?.count)?0>0,因为您正在强制展开可选值。检查self.alldata?.count
此打印内容检查self.alldata中是否有可用数据?将if(self.alldata?.count)!>0此行更改为if(self.alldata?.count)?0>0,因为您正在强制展开可选值。