我有一个名为AwardData
的结构,包含3个字段,title : String
,description : String
和completed : Bool
。我正在尝试创建其中一个的实例然后像这样设置其数据:
var data : AwardData!
switch awardNum
{
case 0:
data.title = "Roomie"
但是我遇到了错误:unexpectedly found nil while unwrapping an Optional value
。
我是如何使结构的实例不正确的?
答案 0 :(得分:1)
var data: AwardData!
声明一个隐式解包的Optional
变量。这几乎就像你写了var data: AwardData?
一样。最后的!
使其隐式展开,这基本上只是意味着编译器不会抱怨你像普通(非可选)变量一样使用它。
真正的问题是您还没有初始化data
变量。您只声明了它的类型,但没有创建实际的结构。它没有,但您尝试为其title
分配值。
你可以这样做:
var data = AwardData()
然后设置标题没有问题:
data.title = "Roomie"