繁体   English   中英

Swift枚举关联值

[英]Swift enum associated values

我的API有路径和后面的int。

例如, /get/news/{id}.

对于路径端点,我有这样的枚举:

enum Endpoints : String {

case news = "news"
}

有没有方便的方法来使用相关的值?

就像是 :

case newsById(id: String) = "get/news/" + id

你可以用这个:

enum APIEndpoints {
    case news(id: Int)

    var path: String {
        switch self {
        case let .news(id):
            return "/get/news/\(id)"
        }
    }
}

并使用它: APIEndpoints.news(id: 5).path

您始终可以向枚举添加函数以获取URI:

enum Endpoints : String {
    case news = "news"

    func getUri(id: string) -> String {
        return "get/\(self.rawValue)/\(id)"
    }
}

你可以试试这个:

enum Endpoints: String {
   case news

   func getNewsByStringId() -> String {
     return "get/news/\(self.rawValue)"
   }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM