Ios 如何使Xcode自动符合协议
当我使用原型表视图时,我必须始终遵守协议Ios 如何使Xcode自动符合协议,ios,xcode,swift,interface,code-generation,Ios,Xcode,Swift,Interface,Code Generation,当我使用原型表视图时,我必须始终遵守协议TableViewDataSource。我总是忘记需要实现什么方法,所以每次都要查看协议的源代码。这真的很费时 我认为Xcode必须有一个自动实现所需方法的特性,对吗?就像IntelliJ IDEA、Eclipse和Visual Studio一样 我想知道在哪里可以找到此功能。如果没有,是否有解决方法?至少我不必每次遵守协议时都打开协议的源代码 如果你不明白我的意思,这里有一些代码: 我有一个协议 protocol Hello { func doS
TableViewDataSource
。我总是忘记需要实现什么方法,所以每次都要查看协议的源代码。这真的很费时
我认为Xcode必须有一个自动实现所需方法的特性,对吗?就像IntelliJ IDEA、Eclipse和Visual Studio一样
我想知道在哪里可以找到此功能。如果没有,是否有解决方法?至少我不必每次遵守协议时都打开协议的源代码
如果你不明白我的意思,这里有一些代码:
我有一个协议
protocol Hello {
func doStuff ()
}
当我遵从它时
class MyClass: Hello {
}
我经常记不起需要实现的方法的名称。如果Xcode具有将上述代码转换为以下代码的功能:
class MyClass: Hello {
func doStuff () {
code
}
}
现在你明白我的意思了吗?我只是想问一下在哪里可以找到这样的功能。如果我了解您的问题,那么这里有一个解决方法: 尝试将protocol定义为前缀的方法,如此处所示
hello
,这样您就不必记住这些方法,只要开始键入protocol name,XCODE就会提示您所有可用的方法,请参见此处:
如果您想要自动完成协议,请尝试
Xcode不会为您做这件事 如果您查看协议的文档,它清楚地标记了您必须实现的功能:
Xcode 9负责实施Swift数据源和委托的强制方法 以
UICollectionViewDataSource
为例,查看这些快照:
指示实现协议方法的警告:
通过单击“修复”按钮,它添加了所有必需的方法:
Xcode 9:您可以通过向密钥绑定集添加新的快捷方式来添加缺少的协议要求
Refactor->addmissingsprotocolrequirements
与Amjad的文章非常相似,Xcode 9/10在代码编辑器中提供了添加缺少的协议要求的功能 只需“右键单击”类名:“重构”-->“添加缺少的协议要求”
参见类似问题,链接答案是唯一的方法。在您创建了几个tableview控制器之后,这些方法将在您的内存中:)据我所知,这个问题与@AlessandroChiarotto的上述链接不同。这里的问题是关于在遵守协议时实现所需的功能。希望有人能很快知道答案。Xcode有一个优点:界面生成器,这是一个了不起的东西。关于代码和开发功能,它只是一个简单的文本编辑器,甚至不要将其与IntelliJ进行比较:/I我已经实现了一个,为Swift和ObjC缺少的方法提供建议。非常感谢!这很有帮助!对于IDE的一个缺点,糟糕的命名实践几乎不是有效的解决方案。它符合iOS命名实践,正如您在AppDelegate应用程序函数命名或tableView数据源命名中看到的那样。您也可以参考Raywalderlich尼斯漫游!:)我发现这相当令人讨厌,因为这阻碍了我的通用编程解决方案。我更喜欢通过重构添加缺少的协议需求的内置功能。这需要打开特定的设置吗?我仍然没有使用Xcode 9自动生成方法的选项。2@slackwars-您能分享一下您尝试过的协议吗。如果强制执行任何强制功能,则此警告/错误将可见。如果所有函数/方法都是可选的(或者如果您已经在代码中添加/实现了),则不会指示/显示此警告。class ViewController:UIViewController、UICollectionViewDelegate、UICollectionViewDataSource{链接到gist图像:[链接]我像你的例子一样添加了密钥。我按相同的键,但它没有显示我的协议方法。我在这里做错了什么请告诉我谢谢。。。