加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在Swift 3中访问传递的Enum参数

发布时间:2020-12-14 02:25:56 所属栏目:百科 来源:网络整理
导读:我在访问使用枚举传递的参数时遇到了一些麻烦. 通用RequestType,将包括更多. enum RequestType { case flagging(api : FlaggingRequestType)} 这是我的枚举接受另一个FlaggingRequestType(另一个接受字符串参数的枚举) enum FlaggingRequestType { case getF
我在访问使用枚举传递的参数时遇到了一些麻烦.

通用RequestType,将包括更多.

enum RequestType {
  case flagging(api : FlaggingRequestType)
}

这是我的枚举接受另一个FlaggingRequestType(另一个接受字符串参数的枚举)

enum FlaggingRequestType {
  case getFlag(api : String)
}

protocol Requestable {
  var requestType : RequestType { get set }
}

在这里,我建立我的标记请求

let flaggingRequest = RequestBuilder.buildFlaggingRequest(flagRequest: .getFlag(api: "http://www.apiworld.com"))

这是我从另一个方法实际发送请求的方法.

func sendRequest(for apiRequest : Requestable) {
  switch apiRequest.requestType {
  case .flagging:
  self.flaggingAPI(for: apiRequest)
 }
}

问题是我无法弄清楚如何访问在apiRequest / flaggingRequest中找到的api参数中传递的值.这可能吗?我希望这很清楚:)

这是关联值为 https://appventure.me/2015/10/17/advanced-practical-enum-examples/#sec-1-5的枚举的绝佳链接
func sendRequest(for apiRequest : Requestable) {
    switch apiRequest.requestType {
    case .flagging(let api):
        // access api value here
        self.flaggingAPI(for: apiRequest)
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读