【问题标题】:How to instantiate variable to object in Swift?如何在 Swift 中将变量实例化为对象?
【发布时间】:2014-11-26 15:08:51
【问题描述】:

我当前的 swift 代码

    var itemToEdit = ChecklistItem

(然后我在 viewDidLoad 方法上使用这个 var:)

    override func viewDidLoad() {
    super.viewDidLoad()

    if let item = itemToEdit {
        title = "Edit Item"
        textField.text = item.text
    }

}

出现错误:第一行出现“预期的成员名称或类型名称后的构造函数调用”。 我尝试在 ChecklistItem 对象之后使用“()”并在对象之后写入“.self” - 然后出现 2 个错误,此“if let item = itemToEdit”和此“textField.text = item.text”行。 提前致谢。

【问题讨论】:

    标签: swift ios8 xcode6.1


    【解决方案1】:

    如果“CheckListItem”是类型名称,则必须调用初始化器来创建实例。

    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.
    

    因为 "if let item = itemToEdit {" 会检查 item 是否为 nil,所以 itemToEdit 必须是可选类型。

    var itemToEdit: CheckListItem? = CheckListItem() //Declare as Optional type.
    

    【讨论】:

    • 我很乐意为您提供帮助:)
    猜你喜欢
    • 2016-10-17
    • 2015-04-26
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    相关资源
    最近更新 更多