Swift pull重新加载表中的对象而不是更新

我从分析导入数据,并试图添加“拉刷新”function,所以如果有人添加一个对象,它将添加到tableview,但现在它复制了什么已经在tableview。 显然,如果没有添加任何东西,我什么都不应该改变。

许多帮助将是最重要的

这是我的代码如下

var refresher: UIRefreshControl! func Refresh() { let query = PFQuery(className: "Events") query.orderByAscending("Date") query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in if error == nil { // query successful - display number of rows found print("Successfully retrieved \(objects!.count) Events") if let objects = objects { for object in objects { self.postedEvents.append(object.objectForKey("Name") as! String) self.postedImages.append(object.objectForKey("Image") as! PFFile) self.postedObjects.append(object) self.tableView.reloadData() self.refresher.endRefreshing() } print(self.postedObjects.count) print(self.postedEvents) } } else { // Log details of the failure NSLog("Error: %@ %@", error!, error!.userInfo) } } } override func viewDidLoad() { refresher = UIRefreshControl() refresher.attributedTitle = NSAttributedString(string: "Pull to Refresh") refresher.addTarget(self, action: "Refresh", forControlEvents: UIControlEvents.ValueChanged) self.tableView.addSubview(refresher) Refresh() } 

尝试在Refresh()第一行:

 self.postedEvents.removeAll() self.postedImages.removeAll() self.postedObjects.removeAll() 

您可以检查最近的原始对象的query.whereKey("createdAt", greaterThanOrEqualTo: self.pastRecentTime)时间,并在您的刷新function说query.whereKey("createdAt", greaterThanOrEqualTo: self.pastRecentTime) ,这只会拉最近的对象。