Je suis nouveau dans Swift et j'ai un problème pendant que j'essaye de filtrer certaines catégories dans mon UICollectionView.

Voici mon code pour obtenir tous les articles pour toutes les catégories.

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

Comment puis-je filtrer une seule catégorie, par exemple "test"?

J'obtiens toutes les catégories en analysant le XML du site Web de wordpress

0
Andrea Puglisi 23 mai 2018 à 12:10

3 réponses

Meilleure réponse

Vous pouvez utiliser la fonction filter pour filtrer votre tableau:

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
}
2
Sharad Chauhan 23 mai 2018 à 09:19

Vous pouvez utiliser le filtre, essayez ce code

func getFilteredArray(category: String) -> [ array of your objects] {
    let filteredArray = allArticles.filter( {$0.category == category })
    return filteredArray
}
0
A.Munzer 23 mai 2018 à 09:40

Essayez ci-dessous la ligne:

let result = self.allArticles.filter { $0.category == "test" }.count
1
Moayad Al kouz 23 mai 2018 à 09:19