我目前的快速代码
var itemToEdit = ChecklistItem
(然后我在viewDidLoad方法上使用这个var:)
override func viewDidLoad() {
super.viewDidLoad()
if let item = itemToEdit {
title = "Edit Item"
textField.text = item.text
}
}
在第一行收到错误:“类型名称后的预期成员名称或构造函数调用”。 我试图在ChecklistItem对象之后使用“()”并在对象之后写“.self” - 然后在这个“if let item = itemToEdit”和这个“textField.text = item.text”行中出现2错误。 提前谢谢。
答案 0 :(得分:3)
如果“CheckListItem”是Type name,则必须调用initializer来创建实例。
var obj = CheckListItem() // Initializer with no arguments.
Swift有两种变量类型,Normal类型和Optional类型,可以是nil。
var optionalValue: Int? = nil //This is Optional type. (Add '?' to end of Type name)
var normalValue: Int = nil //Error. Normal Int can not be nil.
因为“如果让item = itemToEdit {”检查item是否为nil,则itemToEdit必须是可选类型。
var itemToEdit: CheckListItem? = CheckListItem() //Declare as Optional type.