我已经看过这里其他有关用字典下标的问题,但没有发现任何适合我的情况的东西。可能我对Swift仍然还不太了解,但是无论如何这都是我的情况。我得到典型的不能“下标”字符串类型的字典。我看过这里的帖子,它是可选的,需要解开它,但是当我尝试这样做时,Xcode建议我删除!,所以这样做,然后出现下标错误。
我看了很多关于快速开发的教程,其中有很多是在操场上玩的,我从来没有想过在任何教程中都看到有人必须这样做。所以我在操场上尝试了同样的事情,并且奏效了。
这是我在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
}
}
我要做的是创建一个字符串字典,该字符串引用文本字段及其验证状态以跟踪它们是否已验证。这个概念是当字典中的所有内容都正确时,我可以激活“计算”按钮。
但是,我收到“无法为类型字典的值加上下标字符串类型的索引的下标”错误...但是,此代码在操场上有效。
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/