【问题标题】:Swift: access to the content of a dictionary [duplicate]Swift:访问字典的内容[重复]
【发布时间】:2016-10-13 05:24:12
【问题描述】:

代码很简单:

var dictionnary: [Int: Int] = [25: 32]
var test = "dictionary"

print (dictionary[25])
print (test[25])

我想像最后一行代码一样访问字典中的内容。 我必须检测我必须使用的字典的名称。所以我不得不将字典的名称存储在一个字符串类型的变量中。 得到这个错误:

我该如何继续?

好的,我试着举一个简单的例子来解释我的问题,但我犯了一个错误。 我的问题与将字符串转换为变量名或其他内容无关。

事实上,我有 10 个字典,每个字典都有数据。为了获取我的数据,我需要找出好的那个。

我获得了一个字符串类型的变量,其中包含好字典的名称,但是当我尝试使用它来访问该字典的内容时,我得到了提到的错误。

当我能够再次发帖时,我会尝试正确解释这一点......

【问题讨论】:

  • 你无法继续 - 你必须后退几步,重新思考你在做什么。您不能也不能通过变量名访问变量。
  • 感谢您的快速回复。

标签: swift dictionary subscript


【解决方案1】:

我想你想要

var test = dictionary

去掉引号

【讨论】:

  • 这解决了我的问题。
  • 您应该注意,这是创建一个副本,而不是 dictionary 的引用,因为 Swift 中值类型的性质(Dictionarystruct)。 dictionary 变量的任何突变都不会反映在 test 上。
  • @D.PEPIN 如果我的回答对您有帮助,您能接受吗?谢谢!
【解决方案2】:

您已经使用以下代码命名了您的字典:

var dictionary: [Int: Int] = [25: 32]

你的字典叫做“字典”(你拼错了,但我想这就是你想要的。

要访问键 25 的值,您已经正确地做到了:

print (dictionary[25])

没有必要创建一个名为 test 的变量。一个字符串在 swift 中不像一个数组,但如果是这样的话

print(test[25])

将访问字符串“字典”中的第 26 个字符,该字符不存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 2016-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多