Запретить запрос на чтение строки более одного раза - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть viewController, где я делаю userQueries.Эти запросы хранятся в классе с именем Searches. У меня также есть tableViewController, где я могу найти историю поиска для этого класса.Все работает нормально, но так как я вызываю запрос в viewDidAppear, он постоянно добавляет дубликаты в tableView.Если я вызываю запрос в viewDidLoad, запрос, очевидно, выполняется только один раз, а tableView не обновляется в реальном времени.
Я попытался решить некоторые проблемы, чтобы проигнорировать строки с дубликатом objectId, но безуспешно.

  func getData() {

        var objectIds : [String] = []

        let query = PFQuery(className: "Searches")

        query.findObjectsInBackground { (object, error) in
            if object != nil && error == nil {
                if let returnedObjects = object {
                    for objects in returnedObjects {
                        if let getObjectId = objects.objectId {
                            objectIds.append(getObjectId)
                            query.whereKey("objectId", notEqualTo: objectIds)
                            let dateFormatter = DateFormatter()
                            dateFormatter.dateFormat = "dd'.'MM'.'yyyy' kl: 'HH':'mm'"
                            let date = dateFormatter.string(from: (objects.createdAt as NSDate?)! as Date)
                            self.timeCreated.append(date)
                            self.companyArray.append(objects["company"] as! String)
                            let position = objects["searchFor"] as! [String]
                            self.position.append(contentsOf: position)

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