Post

Replies

Boosts

Views

Activity

Display length of my Dictionary
I am using Swift and Leaf Template to build a website and I am trying to render some cards based on the length of the array. I am stuck here. Someone should please help me out. func handleArticleList(_ req: Request) -> EventLoopFuture<View> { var articles = [ArticleList]() // Populate the articles array with some data let article1 = ArticleList(articleName: "Article 1", articleImage: "image1.jpg", articleDescription: "Description of Article 1") let article2 = ArticleList(articleName: "Article 2", articleImage: "image2.jpg", articleDescription: "Description of Article 2") let article3 = ArticleList(articleName: "Article 3", articleImage: "image3.jpg", articleDescription: "Description of Article 3") articles.append(article1) articles.append(article2) articles.append(article3) for article in articles { print("Article Name: \(article)") // print("Article Image: \(article.articleImage)") // print("Article Description: \(article.articleDescription)") print("---") } print("value: \(articles.count)") // Convert the array of ArticleList objects into an array of dictionaries let articleDictionaries = articles.map { article in return [ "articleName": article.articleName, "articleImage": article.articleImage, "articleDescription": article.articleDescription ] } // print(articleDictionaries) let context: [String: Any] = [ "articles": articles, "value": articles.count ] // print("CONTEXT : \(context.count)") return req.view.render("index", context ) } } struct ArticleList: Encodable { var articleName: String var articleImage: String var articleDescription: String } My Leaf Template <main> //bunch of tailwind and HTML #for(planet in articles): <li> <h2>#(planet.articleName)</h2> </li> #endfor <p>#(articles.count)</p> </div> </div> </main>
3
0
473
Jun ’23