Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift枚举关联值_Swift_Enums - Fatal编程技术网

Swift枚举关联值

Swift枚举关联值,swift,enums,Swift,Enums,我有一个API,它后面有路径和一个int 例如,/get/news/{id}。 对于路径端点,我有如下枚举: enum Endpoints : String { case news = "news" } 是否有任何方便的方法来使用关联的值 比如: case newsById(id: String) = "get/news/" + id 始终可以向枚举添加函数以获取URI: enum Endpoints : String { case news = "news" func

我有一个API,它后面有路径和一个int

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

对于路径端点,我有如下枚举:

enum Endpoints : String {

case news = "news"
}
是否有任何方便的方法来使用关联的值

比如:

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

始终可以向枚举添加函数以获取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)"
   }
}
您可以使用以下选项:

enum APIEndpoints {
    case news(id: Int)

    var path: String {
        switch self {
        case let .news(id):
            return "/get/news/\(id)"
        }
    }
}
并像这样使用:
apidendpoints.news(id:5.path)