Swift通过Init

时间:2018-01-07 19:42:19

标签: swift class initialization

我有一个有两个初始化程序的类,我对传递信息,标题和描述感兴趣。

class CustomSearchResult {

    var description: String?
    var title: String?
    init(title: String) {
        self.title = title
    }
    init(description: String) {
        self.description = description
    }

}

稍后我会参考以便将此信息存储到自定义搜索中

customSearchResults.append(SearchResultType.customResult(result: CustomSearchResult(title: titleString!,description: descriptionString!)))

但是,这会产生错误"无法为类型' CustomSearchResult'调用初始化程序。使用类型'的参数列表(title:String,description:String)'"

有没有办法按照描述传递这两个初始化变量?

1 个答案:

答案 0 :(得分:2)

创建另一个初始值设定项:

init(title: String?, description: String?) {
        self.title = title
        self.description = description
}

根据您的需要,您可能不需要使用选项作为参数......

init(title: String, description: String) {
        self.title = title
        self.description = description
}