![](/img/trans.png)
[英]Why can't I use “self.init(type: .custom)” in convenience initializer at my subclass of UIButton
[英]Why won't my self.init autofill in a convenience initializer?
我不知道這是否重要,但這是在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)
}
}
稍后,經過一些故障排除(相信我,清理構建文件夾在這里無效),我意識到我們的老師正在使用他從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#>)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.