gpt4 book ai didi

ios - 如何在 Swift 中做嵌套字典

转载 作者:搜寻专家 更新时间:2023-11-01 06:39:16 24 4
gpt4 key购买 nike

作为 Swift 的初学者,我什至为最简单的事情而苦苦挣扎 :( 我尝试了很多方法来在字典中创建字典,但总是失败。

原因是我想用 10 个项目填充一个表。每个项目都有一个标题、url、页面浏览量和唯一用户。字符串,字符串,整数,整数。我希望能够使用 IndexPath.row 读取数据并填充表格单元格,并且我希望能够根据来自具有 json 内容的 api 输入每 5 秒更新一次数据。

我在 Playground 中尝试并最终得到:

var topArticleDetails:[String:AnyObject] = ["title":"","url":"","uniqueUsers":0,"events":0]
var topArticles:[Int:NSDictionary] = [0:topArticleDetails]

topArticleDetails["title"] = "Varden - Nyheter"
topArticleDetails["url"] = "http://www.varden.no/nyheter"
topArticleDetails["uniqueUsers"] = 50
topArticleDetails["events"] = 100

topArticles[1] = topArticleDetails

它似乎工作正常,但是当我将它添加到我的 ViewController 时,我收到错误消息 Instance member 'topArticleDetails' cannot be used on type 'ViewController'

关闭但没有雪茄..

我该如何解决这个问题?也许有比我现在尝试的更好的方法。目前它有点工作,但我没有使用嵌套字典,而是得到了四个独立的数组,如下所示:

var topArticlesTitle = [String]()
var topArticlesURL = [String]()
var topArticlesEvents = [Int]()
var topArticlesUniqueUsers = [Int]()

而且我很确定一定有更好的方法。

>> 更新<<

除了下面提供的解决方案外,我还找到了另一个解决方案。太简单了,我很惭愧,但我想这是同时学习 Swift 和 OOP 的一部分。如果我删除了我在声明变量时尝试输入变量的数据,并且只是将它们保持为空,那么它就像一个魅力。

var topArticleDetails = [String:AnyObject]()
var topArticles = [Int:NSDictionary]()

最佳答案

您可以使用 struct 数组,而不是在字典中使用字典,例如:

struct Article {
var title: String?
var url: String?
var: events: Int?
var uniqueUsers: Int?
}

var topArticles = [Article]()

它比字典中的字典更容易维护,因为它很容易改变你的模型。

关于ios - 如何在 Swift 中做嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37555898/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com