gpt4 book ai didi

dictionary - Swift 字典错误?

转载 作者:IT王子 更新时间:2023-10-29 05:29:35 25 4
gpt4 key购买 nike

所以我在 Swift 中开始了一个项目,我遇到了这个问题:

此代码有效:

var dictionary = ["a":"valueOfA","b":"valueOfB","c":"valueOfC"]
println(dictionary)
dictionary["c"] = "newValOfC"
println(dictionary)

这不是:

var dictionary = [:]
dictionary = ["a":"valueOfA","b":"valueOfB","c":"valueOfC"]
println(dictionary)
dictionary["c"] = "newValOfC"
println(dictionary)

报错:

Playground execution failed: error: <REPL>:35:17: error: cannot assign to the result of this expression
dictionary["c"] = "newValC"
~~~~~~~~~~~~~~~ ^

注意这不是一个常量值

那为什么没有这条线

dictionary = ["a":"valueOfA","b":"valueOfB","c":"valueOfC"]

报错?

最佳答案

由于上下文没有提供足够的信息来推断类型,您需要将其显式命名为字典,否则 swift 会假定它是一个 NSDictionary(我不清楚为什么不过。我假设是为了更好的 obj-c 兼容性):

以下代码全部有效:

// Playground
import UIKit

var str:NSString = "Hello, playground"

var d0 = [:]
var d1: Dictionary = [:]

d0.setValue(UIWebView(), forKey: "asdf")

d1["asdf"] = 1
d1["qwer"] = "qwer"

关于dictionary - Swift 字典错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24023622/

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