ios - 如何重新加载 UITableView 插入的项目

标签 ios swift uitableview

我正在研究如何为 UITableView 加载日期(仅限插入的项目)。

我正在使用一个名为 [UIScrollView-InfiniteScroll][1] 的库

[1]: https://github.com/pronebird/UIScrollView-InfiniteScroll对于无限滚动,当我添加新项目时,我只想加载新项目。

当我调用 tableView.reloadData() 时,它正在加载所有 TableView

这是我的完整代码:

 tableView.infiniteScrollIndicatorStyle = .Gray

        tableView.addInfiniteScrollWithHandler { (scrollView) -> Void in

            self.loaddata(10, skip: self.posts.count)


        }

func loaddata(limit:Int, skip:Int) {

        let query = PFQuery(className: "Feed")
        query.whereKey("username", containedIn: self.phones)
        query.limit = limit
        query.skip = skip
        query.includeKey("from")
        query.addDescendingOrder("createdAt")
        query.findObjectsInBackgroundWithBlock {
            (objects: [PFObject]?, error: NSError?) -> Void in

            if error == nil {
                if let objects = objects {
                    if objects.isEmpty {

                    }
                    else {
                        print(objects.count)
                        for object in objects {
                            let Date = object.createdAt
                            let post = Post(time: Date!)
                            let Type = object.objectForKey("type") as? String

                            post.DoILike = true
                            post.Post_message = object.objectForKey("Text") as? String
                            post.comments = object.objectForKey("commentaires") as? Int
                            post.likes = object.objectForKey("likes") as? Int

                            self.posts.append(post)

                        }
                        self.tableView.reloadData()
                        self.tableView.finishInfiniteScroll()
                    }

                }

            } else {


            }
        }


    }

最佳答案

你需要的是类似的东西

let indexPaths = ... //indexes of added rows
self.tableView.beginUpdates()
self.tableView.insertRowsAtIndexPaths(indexPaths, withRowAnimation: UITableViewRowAnimation.None)
self.tableView.endUpdates()

关于ios - 如何重新加载 UITableView 插入的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35005538/

相关文章:

iphone - 首先按 'nearest distance' 对两个 NSMutableArrays 进行排序

ios - 在 CollectionView Swift 上显示 Gif

ios - 长按后如何跟踪按钮选择?

iOS UITableViewCell 在单元格问题上选择了背景 View 封面图像

ios - 预期返回 'UITableViewCell' 的函数中缺少返回值

ios - 如何在单行 Collection View 中显示选定的照片

swift - 我正在尝试创建一个 UIbarButtonItem,其宽度和高度等于导航栏高度的 70%?

ios - UISplitViewController 主视图在详细 View 上调用 PerformSegueWithIdentifier

Swift:将索引转换为 int

ios - 连接到原型(prototype)单元时无法使单元出列错误