Фильтровать данные Firebase по дате - PullRequest
0 голосов
/ 22 марта 2019

Я пытаюсь показать данные Firebase в виде таблицы по дате в порядке возрастания. Я также пытаюсь реализовать две кнопки, «Past» и «Upcoming», которые снова фильтруют данные. Кнопка «Past» должна показывать все данные до текущей даты. Кнопка «Предстоящие» должна отображать все данные, которые имеют текущую и будущие даты. Вот как я сейчас получаю данные ...

Структура данных Firebase JSON, как показано ниже -

Firebase data view

Вот мой код-

refReleases = Database.database().reference().child("releases");
    refReleases.observe(DataEventType.value) { (snapshot) in

        if snapshot.childrenCount>0{
            self.releasesData.removeAll()

        for releases in snapshot.children.allObjects as![DataSnapshot]{
            let releaseObject = releases.value as? [String: AnyObject]
            let releaseName = releaseObject?["releaseName"]
            let releaseType = releaseObject?["releaseType"]
            let releasePrice = releaseObject?["releasePrice"]
            let releaseDate = releaseObject?["releaseDate"]
            let releaseImage = releaseObject?["releaseImage"]
            let releaseTag = releaseObject?["releaseTag"]
            let nikewebsite = releaseObject?["nikewebsite"]
            let finishlinewebsite = releaseObject?["finishlinewebsite"]
            let eastbaywebsite = releaseObject?["eastbaywebsite"]
            let footlockerwebsite = releaseObject?["footlockerwebsite"]
            let footactionwebsite = releaseObject?["footactionwebsite"]
            let champswebsite = releaseObject?["champswebsite"]

            let release = ReleaseModel(releasetype: releaseType as! String?, releasename: releaseName as! String?, releaseprice: releasePrice as! String?, releasedate: releaseDate as! String?, releaseimage: releaseImage as! String?, releasetag: releaseTag as! String?, nikewebsite: nikewebsite as! String?, finishlinewebsite: finishlinewebsite as! String?, eastbaywebsite: eastbaywebsite as! String?, footlockerwebsite: footlockerwebsite as! String?, footactionwebsite: footactionwebsite as! String?, champswebsite: champswebsite as! String?)
            self.releasesData.append(release)
        }
        self.tableView.reloadData()
    }

    @IBAction func pastButtonTapped(_ sender: UIButton) {
    //show data before the current date
    }

    @IBAction func upcomingButtonTapped(_ sender: UIButton) {
    //show data of current and future dates
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...