Как отфильтровать массив словаря (Datewise) с помощью NSPredicate в swift 4 - PullRequest
0 голосов
/ 04 июля 2018

Я новичок в Swift, пожалуйста, кто-нибудь, помогите мне. Я должен сделать фильтрацию моих данных по дате. Это мои данные JSON.

result =     (
                {
            Request = "sample task";
            "Requested_by" = 112;
            Source = "default-image.jpg";
            "created_at" = "2018-07-02 12:44:20";
            id = 556;
            taskId = 821;
        },
                {
            Request = cvv;
            "Requested_by" = 112;
            Source = "default-image.jpg";
            "created_at" = "2018-07-03 17:01:14";
            id = 554;
            taskId = 812;
        }
)

И я попробовал код:

func filterDatesFromMainData(){
    let predicate = NSPredicate(format: "created_at = %@", self.datetextField.text!)
    self.filterArray = NSMutableArray(array: self.dataArray.filtered(using: predicate))
    print("data: \(self.filterArray)")
    self.tableView.reloadData()
}

В предикатной переменной я получу дату из средства выбора даты. В self.filterArray я получаю 0 элементов. Пожалуйста, кто-нибудь, помогите мне, как решить эту задачу

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Вы можете попробовать

let predicate  = NSPredicate(format: "created_at contains[c] %@", self.datetextField.text! )
0 голосов
/ 04 июля 2018

Может быть, ваш формат не совпадает с датой созданного_.

И

Попробуйте заменить

let predicate = NSPredicate(format: "created_at = %@", self.datetextField.text!)

К

let predicate  = NSPredicate(format: "created_at contains[c] %@", self.datetextField.text! )
...