[英]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.