当我使用原型表视图时,我总是必须遵守协议TableViewDataSource
.我总是忘记我需要实现哪些方法,所以我每次都要查看协议的来源.这非常耗时.
我认为Xcode必须具有自动为您实现所需方法的功能,对吧?就像IntelliJ IDEA,Eclipse和Visual Studio一样.
我想知道在哪里可以找到此功能.如果没有,是否有解决方法?至少我不必在每次符合协议时打开协议的源代码.
如果你不明白我的意思,这里有一些代码:
我有一个协议
protocol Hello { func doStuff () }
当我遵守它时,
class MyClass: Hello { }
我经常不记得我需要实现的方法的名称.如果Xcode有一个功能可以将上面的代码转换为:
class MyClass: Hello { func doStuff () { code } }
现在你明白我的意思了吗?我只想问哪里可以找到这样的功能.
好吧,如果我理解你的问题,那么这里是一个解决方法:
尝试定义与协议为喜欢这里的前缀的方法hello
,那么你就不必记住这些方法只是开始键入协议名称和XCODE会提示您所有可用的方法在这里看到:
如果你想要自动完成协议,请尝试使用 Snippets
Xcode 9:您可以通过向Key Bindings Set添加新的快捷方式来添加缺少的Protocol Requirements
从顶部Xcode菜单(左上角)选择首选项.
选择键绑定.
搜索协议.你会发现Command叫Refactor -> Add Missing Protocol Requirements
按键列,然后添加快捷方式. ex: cmd + shift + M
现在,您可以通过单击类名称(或其扩展名)添加缺少的协议要求,然后按您的快捷方式
Xcode 9负责实现Swift数据源和代理的强制方法.
查看这些快照,例如UICollectionViewDataSource
:
指示实施协议方法的警告:
通过单击"修复"按钮,它添加了所有必需的方法: