我正在将数据加载到UITableView中。
中的前10个单元格正确地发生了第一次加载func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {}
indexPath.row正确递增并将数据加载到数据源中的正确单元格中。然后,当达到表格的底部时,我实现了更多的加载。现在调用了func tableView但是它停留在indexPath.row = 9.我在
中实现了一个检查器func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
似乎已经添加了适当的行数。
编辑:我遇到了第二个uitableview问题(这个场景中有两个)检查器是一个调用的print语句并返回正确的uitableView,这发生在tableView被卡在相同的值之前。
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == self.table {
return users2.count
}
else {
print("married barry", tableFeedCount)
return tableFeedCount
}
}
答案 0 :(得分:0)
请尝试以下操作:
声明布尔
let boolNotMoreData : Bool = true
将新数据附加到数据源
let arrResponse: [Any]? = (responseObject["news"] as? [Any])
if arrResponse?.count == 0{
boolNotMoreData = false;
}
for dictResponse in arrResponse as! [[String: Any]] {
self.arrDataSource.append(NewsClass(responseDict: dictResponse))
}
self.tblViewNews?.reloadData()
现在获取新数据
private func tableView(_ tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAt indexPath: IndexPath) {
if indexPath.row == arrNews.count - 1 {
if boolNotMoreData {
currentPage += 1
getYourData()
}
}
}
答案 1 :(得分:0)
这项工作成功
@IBOutlet weak var Submitted: UITableView!
@IBOutlet weak var ViewAssigenment: UITableView!
var Arrayone:[String] = []
var ArrayTwo:[String] = []
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
var count:Int?
if tableView == self.ViewAssigenment
{
count = Arrayone.count
}
else if tableView == self.Submitted
{
count = ArrayTwo.count
}
return count!
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
if tableView == self.ViewAssigenment
{
let cell = tableView.dequeueReusableCell(withIdentifier: "ViewCell") as!
ViewAssigenmentTableViewCell
let obj =Arrayone[indexPath.row]
cell.lblTitle.text = obj.AssTitle
return cell
}
else
{
let cell1 = tableView.dequeueReusableCell(withIdentifier: "Submittcell") as! SubmittedAssigenmentTableViewCell
let obj2 = ArrayTwo[indexPath.row]
cell1.lbltitle.text = obj2.AssTitle
return cell1
}
}