2016-10-04 19 views
6

在Xcode 8中,如果聲明一個類(或結構)符合協議,但尚未實現所需的方法(函數?),則Xcode將給出此消息「類型」ClassName'不符合協議'ProtocolName '「這是真的。Xcode 8說:「你想添加一個存根?」我如何回答?

如果通過單擊顯示三角形打開該錯誤,您將看到許多帶有灰色感嘆號圖標的項目。每個項目說「協議需要功能...你想添加一個存根?」我確實想添加一個存根!我如何告訴它爲我添加一個存根?

+0

這似乎在Xcode 9中好得多。 –

回答

8

raphh的答案是正確的,但這裏的Xcode仍然是一個小馬車(至少對我來說),

如果不選擇編譯點關口後Fix-it權轉化爲感嘆號,你可以除非你再試一次,否則不會再出現。

建成後右: Dot error icon

如果你不這樣做的Fix-it馬上: exclamation mark error icon

你必須重新構建的時候,你有幾種方法來實現再得到點圖標並且您確實爲第一個做了Fix-it

+1

我有同樣的問題,但我找不到「修復它」按鈕。 REBUILD後我終於找到按鈕了! – dobiho

2

只需點擊Fix-it,Xcode會爲您添加需要實現的方法的存根。

像這樣。參見: enter image description here

謝謝Xcode 8,最後!

+0

如果您看到紅色感嘆號而不是修復程序,則可以通過單擊問題導航器中的顯示三角形來查找有關該錯誤的更多信息。如果您看到有關'候選人不是功能'的信息,請首先刪除或註釋掉該代碼,然後修復 - 它會出現。 –

相關問題