如何正确实例化

时间:2017-03-26 22:09:54

标签: ios arrays swift nsdictionary

我已经为这个工作了三个晚上并且几乎失去了我的周末,所以我将非常感谢你的帮助。

我被告知我没有实例化 - 我不是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)
        }
    }

我有关于展开变量的知识,但我认为这与实例化有关,请告诉我,如果我错了。

1 个答案:

答案 0 :(得分:1)

myDataSource是可选的。你永远不会实例化它,所以它当然是零,当你试图追加它的东西。你应该在向数组添加内容之前立即实例化它,或者检查nil,