UITableView indexPath.row不增加

时间:2017-06-24 04:09:02

标签: ios swift uitableview

我正在将数据加载到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
        }
    }

2 个答案:

答案 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
        }

    }