Ios Swift 2.0字典下标问题
我已经看了关于使用字典订阅的其他问题,但我没有看到任何与我的情况完全相符的问题。可能是因为我还是个新手,斯威夫特还没有意识到这一点,但无论如何,这是我的设想。我得到的是典型的字符串类型的不能“下标”字典。我在这里看到过关于它是可选的并且需要打开它的帖子,但是当我尝试这样做时,Xcode建议我删除!,我这样做,然后得到下标错误 我看过很多关于swift development的教程,其中很多都使用操场,我从来没有记得在任何教程中看到过任何人必须这样做。所以我在操场上做了同样的尝试,效果很好 以下是我在ViewController中的不起作用的内容Ios Swift 2.0字典下标问题,ios,swift,dictionary,optional,subscript,Ios,Swift,Dictionary,Optional,Subscript,我已经看了关于使用字典订阅的其他问题,但我没有看到任何与我的情况完全相符的问题。可能是因为我还是个新手,斯威夫特还没有意识到这一点,但无论如何,这是我的设想。我得到的是典型的字符串类型的不能“下标”字典。我在这里看到过关于它是可选的并且需要打开它的帖子,但是当我尝试这样做时,Xcode建议我删除!,我这样做,然后得到下标错误 我看过很多关于swift development的教程,其中很多都使用操场,我从来没有记得在任何教程中看到过任何人必须这样做。所以我在操场上做了同样的尝试,效果很好 以下是
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
字典
声明还需要包含键和值的类型,如
var validFields: Dictionary<String,Bool> = [" ...
var validFields:Dictionary=[“。。。
但由于编译器可以推断类型,所以只需删除注释。通常,字典声明还需要包含键和值的类型,如
var validFields:dictionary=…
,但由于编译器可以推断类型,所以只需删除注释。哦,WTF。我是个白痴。我仍然不明白为什么它在游乐场b中工作但这不是真正的问题。我让它推断类型,它工作了。谢谢!如果你想添加你的建议作为答案,我可以接受。谢谢。不客气,我做到了