Как я могу отфильтровать одну категорию в UICollectionView в Swift? - PullRequest
0 голосов
/ 23 мая 2018

Я новичок в swift, и у меня возникли некоторые проблемы, когда я пытаюсь отфильтровать некоторые категории в моем UICollectionView.

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

    func getArticlesforCategory(category: String) -> Int {
    var result : Int = 0
    for article in self.allArticles {
        if category == article.category {
            result += 1
        }
    }
    return result
    }

Как я могу отфильтровать только одну категорию, например "test"?

Я получаю все категории, анализируя xml с веб-сайта WordPress

Ответы [ 3 ]

0 голосов
/ 23 мая 2018

попробуйте ниже строки:

let result = self.allArticles.filter { $0.category == "test" }.count
0 голосов
/ 23 мая 2018

Вы можете использовать фильтр , попробуйте этот код

func getFilteredArray(category: String) -> [ array of your objects] {
    let filteredArray = allArticles.filter( {$0.category == category })
    return filteredArray
}
0 голосов
/ 23 мая 2018

Вы можете использовать функцию filter для фильтрации вашего массива:

func getArticlesforCategory(category: String) -> Int {
    let filteredArray = allArticles.filter( {$0.category == category }) // Here you have filtered array
    return filteredArray.count // If you want number of items pass count of filtered array
}
...