展开时结构发现为零

时间:2016-11-12 21:02:45

标签: swift struct optional

我有一个名为AwardData的结构,包含3个字段,title : Stringdescription : Stringcompleted : Bool。我正在尝试创建其中一个的实例然后像这样设置其数据:

var data : AwardData!

        switch awardNum
        {
        case 0:
            data.title = "Roomie"

但是我遇到了错误:unexpectedly found nil while unwrapping an Optional value

我是如何使结构的实例不正确的?

1 个答案:

答案 0 :(得分:1)

var data: AwardData!声明一个隐式解包的Optional变量。这几乎就像你写了var data: AwardData?一样。最后的!使其隐式展开,这基本上只是意味着编译器不会抱怨你像普通(非可选)变量一样使用它。

真正的问题是您还没有初始化data变量。您只声明了它的类型,但没有创建实际的结构。它没有,但您尝试为其title分配值。

你可以这样做:

var data = AwardData()

然后设置标题没有问题:

data.title = "Roomie"