如何让Xcode自动符合一个协议
How to make Xcode automatically conform to a protocol
当我使用原型 table 视图时,我总是必须遵守协议 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不会为你做。
如果你查看协议的文档,它清楚地标记了你必须实现的功能:
Xcode 9,负责 Swift 数据源和委托的强制方法的实现。
看看这些快照,例如 UICollectionViewDataSource
:
指示实现协议方法的警告:
点击'Fix'按钮,已添加所有必填方法:
Xcode 9 :您可以通过向键绑定集添加新的快捷方式来添加缺少的协议要求
- 从顶部 Xcode 菜单(左上角)中选择首选项。
- 选择键绑定。
- 搜索协议。你会发现名为
Refactor -> Add Missing Protocol Requirements
的命令
- 按“键”列,然后添加您的快捷方式。
ex: cmd + shift + M
现在您可以通过单击 class 姓名(或其扩展名)添加缺少的协议要求,然后按您的快捷方式
与 Amjad 的 post 非常相似,Xcode 9/10 带来了直接在代码编辑器中添加缺少的协议要求的功能。
只是 "right click" 在 class 名称上:"Refactor" --> "Add Missing Protocol Requirements"
当我使用原型 table 视图时,我总是必须遵守协议 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不会为你做。
如果你查看协议的文档,它清楚地标记了你必须实现的功能:
Xcode 9,负责 Swift 数据源和委托的强制方法的实现。
看看这些快照,例如 UICollectionViewDataSource
:
指示实现协议方法的警告:
点击'Fix'按钮,已添加所有必填方法:
Xcode 9 :您可以通过向键绑定集添加新的快捷方式来添加缺少的协议要求
- 从顶部 Xcode 菜单(左上角)中选择首选项。
- 选择键绑定。
- 搜索协议。你会发现名为
Refactor -> Add Missing Protocol Requirements
的命令
- 按“键”列,然后添加您的快捷方式。
ex: cmd + shift + M
现在您可以通过单击 class 姓名(或其扩展名)添加缺少的协议要求,然后按您的快捷方式
与 Amjad 的 post 非常相似,Xcode 9/10 带来了直接在代码编辑器中添加缺少的协议要求的功能。
只是 "right click" 在 class 名称上:"Refactor" --> "Add Missing Protocol Requirements"