Сортировать пользовательскую структуру с информацией о дате - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь отсортировать мою пользовательскую структуру со значениями даты в моем RLMResult. Вот что я делаю:

Создал RLMSortDescriptor с каждым имеющимся у меня значением даты и затем использовал метод sortedResults с параметрами дескриптора, но метод сортировал мою дату в неправильном порядке. Может быть, вы знаете какой-нибудь лучший способ сделать это?

Вот мой код:

func sortParametrs(sortState: SortingActionState, sortedParametr: String) {
        var result = false
        if sortState == .sortedAtGreatest {
            result = false
        } else {
            result = true
        }
        if sortedParametr == "date" {
            let sortDate = [RLMSortDescriptor(keyPath: "nearestPlan.date.day", ascending: result), RLMSortDescriptor(keyPath: "nearestPlan.date.month", ascending: result)]
            parentViewController.logic?.filteredFarms = parentViewController.logic?.getFarms()?.sortedResults(using: sortDate)
        } else {
            parentViewController.logic?.filteredFarms = parentViewController.logic?.getFarms()?.sortedResults(usingKeyPath: sortedParametr, ascending: result)
        }
    }

1 Ответ

0 голосов
/ 27 апреля 2018

Я решил это использовать

let sortDate = [RLMSortDescriptor(keyPath: "nearestPlan.date.year", ascending: result), RLMSortDescriptor(keyPath: "nearestPlan.date.month", ascending: result), RLMSortDescriptor(keyPath: "nearestPlan.date.day", ascending: result)]

вместо

let sortDate = [RLMSortDescriptor(keyPath: "nearestPlan.date.day", ascending: result), RLMSortDescriptor(keyPath: "nearestPlan.date.month", ascending: result)]

важно расположение этих параметров)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...