Как отфильтровать одинаковые строки и получить только одну - PullRequest
0 голосов
/ 26 января 2019

У меня есть список элементов, который содержит группы, при их печати отображаются все элементы.

MOVIE: Cartoon Multi Subtitles
MOVIE: Cartoon Multi Subtitles
MOVIE: Cartoon Multi Subtitles
MOVIE: Cartoon Multi Subtitles
MOVIE: Cartoon Multi Subtitles

MOVIE: English
MOVIE: English
MOVIE: English
MOVIE: English
MOVIE: English

Я пробовал так:

let item = playlist?.objects.map({ $0.group != group })
-> Unable to infer closure type in the current context

И так:

    for group in item! {
        if group.self != group {
            alertController.addAction(UIAlertAction(title: String(group), style: .default) {
                action in
            })
            print(group)
        }
    }

   @IBAction func button(_ sender: Any) {

        let alertController = UIAlertController(title: "", message: "", preferredStyle: .alert)

        let item = playlist?.objects.map({ $0.group != group })

        for group in item! {
            if group.self == group {
                alertController.addAction(UIAlertAction(title: String(group), style: .default) {
                    action in
                })
                print(group)
            }
        }

        alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel))

        self.present(alertController, animated: true, completion: nil)
    }

Что я хочу заархивировать - это удалить дубликаты групп.

1 Ответ

0 голосов
/ 26 января 2019

После сопоставления имен групп поместите этот массив в набор, чтобы получить уникальные имена групп.

let uniqueGroups = Set(playlist?.objects.map({ $0.group != group }) ?? [])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...