ios - 协议(protocol)函数位于单独的文件中

标签 ios iphone swift

我正在尝试组织我的项目,我想知道我要解释的内容是否可能:假设我有一个协议(protocol),它定义了 10 个函数,其中一些用于在 View Controller 之间传输数据(委托(delegate))。

现在,当我使 View Controller 符合该协议(protocol)时,我需要定义所有这些函数,女巫使我的 View Controller 加载了代码。我想知道的是,是否可以创建一个单独的类(例如 Service),然后使该类符合该协议(protocol),并且在我的 View Controller 中我只需调用 Service.nameOfFunction()。

我不知道这如何与委托(delegate)一起使用,例如,如果有一个使用 MapView 的函数,我需要将其作为参数,但在另一个 View Controller 中我没有 MapView 那又怎样调用函数时要传入参数吗?

我知道这有点令人困惑,但我希望你能理解。

最佳答案

只需为方法声明中的参数设置默认值即可。 在调用该函数时,您可以传递一个值或跳过它。如果传递了一个值,那么该值将在方法内被覆盖。

关于ios - 协议(protocol)函数位于单独的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50232289/

相关文章:

iphone - NSString 反斜杠转义

iphone - UIPickerView 中的半透明所选项目

swift - Segue 后 View Controller 调整大小

ios - 如何确保在文本字段中仅选择选择器数据

ios - 在 UICollectionViewCell 中,需要在相互交叉的地方设置边框效果(Junction 类型)

iphone - 如何从磁盘读取图像并阻塞直到读取?

ios - 室内定位和 iBeacons

ios - 组合:监听内部集合变化

ios - 如何拦截智能 RTH 请求并取消它?

ios - UIcollectionview 的单元格项目隐藏或什至没有出列