当前位置: 首页 > 面试题库 >

UITableView分页-底部刷新以在Swift中加载新数据

司马萧迟
2023-03-14
问题内容

我正在尝试通过分页实现从后端加载数据。我已经看到了,但是它一直加载所有数据。这是正确的方法还是我做错了什么?

提前致谢。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell{
    let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell

    print(indexPath.row)

    if (indexPath.row + 1 < self.TotalRowsWithPages) {
        cell.textLabel?.text = "\(self.myarray!.[indexPath.row].body)"
    } else {

        cell.textLabel?.text = "Loading more data...";

        // User has scrolled to the bottom of the list of available data so simulate loading some more if we aren't already
        if (!self.isLoading) {
            self.isLoading = true;
            self.TotalRowsWithPages = self.TotalRowsWithPages + self.PageSize
            self.getmoredata()
        }
    }

    return cell
}

问题答案:

不会,您不能采用这种方法,因为它cellForRowAtIndexPath被调用了很多次,而且还需要很多时间来检查您的状况!

在这里,我找到了更好的UITableView分页选项。

func scrollViewDidEndDragging(scrollView: UIScrollView, willDecelerate decelerate: Bool) {

    //Bottom Refresh

    if scrollView == tableView{

        if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height)
        {
            if !isNewDataLoading{

                if helperInstance.isConnectedToNetwork(){

                    isNewDataLoading = true
                    getNewData()
                }
            }
        }
    }
}

isNewDataLoadingBool要检查是否UITableView正在加载新数据!

希望这可以帮助!



 类似资料:
  • 问题内容: 在我的视图中获取数据的代码如下所示: 我模板中的代码看起来像这样,效果很好。现在,问题是我希望该表每10秒更新一次其信息,而不刷新整个页面。视图的URL为/,模板的名称为home。 urls.py看起来像这样 你们谁能对此有所了解,我将不胜感激! 问题答案: 您可以使用,以及: 您的HTML JS 视图 get_more_tables.html 然后只需确保将新视图添加到您的视图中 (

  • 问题内容: 我正在尝试构建一个面向对象的iOS应用程序,但是从一个我的swift类文件调用表重新加载(ui交互)时遇到了问题。 如果我在没有对象的情况下工作,并在InterfaceController的viewDidLoad方法中编写所有内容,则一切正常…但是如果我将其放入类中则不行。 我正在使用异步请求以便从Web服务加载json数据。接收到数据后,我将这些数据用作表视图的数据源。似乎table

  • 我想在注销后刷新/重新加载页面(屏幕上的消息在5秒钟内可见)。当前代码不会刷新它,所以我仍然在标题中看到用户名,而不是像登录按钮这样的东西。 我已经检查了这篇文章,但没有什么变化。

  • 问题内容: 这是一个非常基本的问题-但我无法通过在线搜索找到答案。 我正在使用python控制ArcGIS,并且有一个简单的python脚本,该脚本调用了一些预先编写的代码。 但是,当我对预写代码进行更改时,它似乎没有导致任何更改。我导入了此模块,并尝试刷新它,但是没有任何反应。 我什至将它调用的文件移到了另一个位置,脚本仍然可以正常工作。昨天我做的一件事是我将所有python文件都添加到sys路

  • 问题内容: 我有一个附加到Java程序的基本html文件。每当刷新页面时,此java程序都会更新HTML文件的部分内容。我只希望在每个时间间隔后刷新页面的该部分。我可以将要刷新的部分放在中,但是我不确定如何仅刷新该内容。任何帮助,将不胜感激。谢谢。 问题答案: 为此使用Ajax。 构建一个函数,该函数将通过ajax获取当前页面,而不是整个页面,仅从服务器中获取有问题的div。然后(再次通过jQue

  • 该组件目前已经升级为Scroll,请移步Scroll