我不知道这是否重要,但这发生在extension
中。
无论如何,今天我的老师让我们在模型的扩展中创建了一个便捷的初始化程序。当他演示时,Xcode的自动填充功能为他填充了初始化程序,但没有给我任何帮助。我问了一下,但我们无法解决。我们班上的一些人有用,而其他人没有。
基本上,我们有这个:
extension Entry {
//existing initializer
convenience init(title: String, body: String) {
self.init()
self.title = title
self.body = body
}
// new initializer we were creating
convenience init(representation: EntryRepresentation) {
// this next line would **NOT** autofill no matter what I tried
// (both waiting, backing up and retyping a little, or hitting esc)
// it wouldn't even show other, non convenience inits
self.init(title: representation.title, body: representation.body)
}
}
答案 0 :(得分:3)
后来,经过一些故障排除(相信我,在这里清理build文件夹是无效的),我意识到老师正在处理他从Swift 4.2天开始使用的模板,并且没有将模板更新为Swift 5。当我开始一个新项目并使用Swift 5作为编译器版本时。在Xcode中切换此功能后,4.2完成了自动填充功能,而5打破了它。
很明显,切换此埋葬设置是解决此问题的麻烦方法,因此,这是一个不错的解决方法:
Entry.init(
Entry.init(title: <#String#>, body: <#String#>)
self.init(title: <#String#>, body: <#String#>)