我已经为这个工作了三个晚上并且几乎失去了我的周末,所以我将非常感谢你的帮助。
我被告知我没有实例化 - 我不是100%确定它是如何工作的,我已经在线阅读但想看到一个与我的特定代码有关的例子。
在app委托中我有这个:
var myDataSource: Array<Dictionary<String,Any>>!
然后,在我的第一个屏幕上,我想要将用户名捕获到myDataSource(我的字典数组)。我尝试了这个:
class UserInfoViewController: UIViewController {
@IBOutlet weak var firstName: UITextField!
var userName: String?
@IBAction func submitName(_ sender: UITextField) {
userName = firstName.text
if userName != nil {
let saveName: [String: Int] = ["userName!": 0]
myDataSource.append(saveName)
print(firstName)
}
}
我有关于展开变量的知识,但我认为这与实例化有关,请告诉我,如果我错了。
答案 0 :(得分:1)
myDataSource是可选的。你永远不会实例化它,所以它当然是零,当你试图追加它的东西。你应该在向数组添加内容之前立即实例化它,或者检查nil,