gpt4 book ai didi

ios - Swift 2.0 字典下标问题

转载 作者:行者123 更新时间:2023-11-30 13:55:42 24 4
gpt4 key购买 nike

我已经查看了这里有关使用字典订阅的其他问题,但没有看到任何非常适合我的场景的问题。可能我对 Swift 还太陌生,无法意识到这一点,但无论如何,这是我的场景。我得到了典型的不能“下标”字符串类型的字典。我在这里看到过关于它是可选的并且需要解开它的帖子,但是当我尝试这样做时,Xcode 建议我删除 !,所以我这样做了,然后我得到了下标错误。

我看过大量有关快速开发的教程,其中很多都使用了 Playground,但我从来不记得在任何教程中看到有人必须这样做。所以我在 Playground 上尝试了同样的事情并且成功了。

这是我在 ViewController 中不起作用的内容。

 var validFields:Dictionary = ["loanBalanceInput":false,"cashOutInput":false,"appraisedValueInput":false,"interestRateInput":false]  

func validationSuccess(sender:UITextField){
sender.backgroundColor = green
switch sender {
case loanBalanceInput:
validFields["loanBalanceInput"] = true
break
default:
break
}
}

我所做的是创建一个引用文本字段及其验证状态的字符串字典,以跟踪它们是否已被验证。这个概念是,当字典中的所有内容都为真时,我可以激活计算按钮。

但是我收到“无法使用字符串类型的索引为字典类型的值添加下标”错误...但是 Playground 上的这段代码可以工作...

 var validatedFields:Dictionary = ["loanBalanceInput":false,"cashOutInput":false,"appraisedValueInput":false,"interestRateInput":false]
validatedFields["loanBalanceInput"]
validatedFields["loanBalanceInput"] = true

我不明白这是怎么回事。是因为这是可选的吗?

@IBOutlet weak var loanBalanceInput: UITextField!

我没有在我的交换机中打开它?不过,我并不是想获取 LoanBalanceInput 的值,我只是检查它是否是发件人。

最佳答案

通常 Swift Dictionary 声明还需要包含键和值的类型,例如

var validFields: Dictionary<String,Bool> = [" ... 

但由于编译器可以推断类型,因此只需删除注释即可。

关于ios - Swift 2.0 字典下标问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33651496/

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