swift我应该使用协议还是协议:class

swift我应该使用协议还是协议:class,第1张

概述我已经设置了一个协议,将一些信息发送回以前的VC. 我这样定义它: protocol FilterViewControllerDelegate: class { func didSearch(Parameters:[String: String]?)} 但使用时有什么区别: protocol FilterViewControllerDelegate { func di 我已经设置了一个协议,将一些信息发送回以前的VC.

我这样定义它:

protocol FilterVIEwControllerDelegate: class  {    func dIDSearch(Parameters:[String: String]?)}

但使用时有什么区别:

protocol FilterVIEwControllerDelegate  {        func dIDSearch(Parameters:[String: String]?)    }

什么时候应该使用:class协议?

Swift 4版

AnyObject添加到这样的协议定义中

protocol FilterVIEwControllerDelegate: AnyObject  {    func dIDSearch(parameters:[String: String]?)}

意味着只有一个类才能符合该协议.

所以这个

protocol FilterVIEwControllerDelegate: AnyObject  {    func dIDSearch(parameters:[String: String]?)}

你可以写这个

class Foo: FilterVIEwControllerDelegate {    func dIDSearch(parameters:[String: String]?) { }}

但不是这个

struct Foo: FilterVIEwControllerDelegate {    func dIDSearch(parameters:[String: String]?) { }}

Swift 3版本

:class添加到这样的协议定义中

protocol FilterVIEwControllerDelegate: class  {    func dIDSearch(Parameters:[String: String]?)}

意味着只有一个类才能符合该协议.

所以这个

protocol FilterVIEwControllerDelegate: class  {    func dIDSearch(Parameters:[String: String]?)}

你可以写这个

class Foo: FilterVIEwControllerDelegate {    func dIDSearch(Parameters:[String: String]?) { }}

但不是这个

struct Foo: FilterVIEwControllerDelegate {    func dIDSearch(Parameters:[String: String]?) { }}
总结

以上是内存溢出为你收集整理的swift我应该使用协议还是协议:class全部内容,希望文章能够帮你解决swift我应该使用协议还是协议:class所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1051971.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存