ios - 在 iOS 中使用协议(protocol)传递多个值的正确方法

标签 ios swift protocols

所以我有两个 ViewController。第一个 (MapVC) 带有 map ,第二个 (SettingsVC) 带有许多需要应用于该 map 的设置。

我认为创建像这样的协议(protocol)会是个好主意

protocol MapSettingsDelegate: class {}

我知道我可以在这个协议(protocol)中指定函数。但是当我有很多设置时我应该怎么做 - 我应该如何将它们从 SettingsVC 传递到 MapVC。

最佳答案

例子:

struct MySettings {
    var value1: String
    var value2: String
    // and so on...
}

protocol MapSettingsDelegate: class {
    func settingsUpdated(newSettings: MySettings)
}

并在你的 Controller 中实现它

class MapVC : MapSettingsDelegate {
    ...
    func settingsUpdated(newSettings: MySettings) {
        // Update everything you need
    }
    ...
}

欢迎询问详情

关于ios - 在 iOS 中使用协议(protocol)传递多个值的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45734294/

相关文章:

ios - 快速从用户电话号码获取电话国家代码

iOS 新手 : search id from a local json file then make request to server

iOS 通用应用类架构

ios - 无法在 Visual Studio 2015 中添加 iOS 应用程序图标

ios - Cocoapods(私有(private))无法找到规范

ios - IOS 应用的 swift 解析

ios - 在 swift 项目中与 xmppframework 一起使用时出现 cocoalumberjack 问题

ios - 实现 swift equatable 协议(protocol)给我错误的访问错误。为什么?

ios - JSON数据解析异常 "objectForKey unrecognized selector"

ios - 在 Swift iOS 中为协议(protocol)分配委托(delegate)时出现编译器错误