2017-09-20 6 views
2

パスとその後にintを持つAPIがあります。スワイプ列挙関連値

例えば、私はそのような列挙したパスのエンドポイントの場合/get/news/{id}.

enum Endpoints : String { 

case news = "news" 
} 

は、それに関連付けられた値を使用する任意のとても便利な方法はありますか?

ような何か:あなたは、常にURIを取得するために、列挙に機能を追加することができます

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

答えて

4

をこれは:

enum APIEndpoints { 
    case news(id: Int) 

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

このように使用してください:APIEndpoints.news(id: 5).path

2

enum Endpoints : String { 
    case news = "news" 

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

あなたはこの試みることができる:あなたが使用することができます

enum Endpoints: String { 
    case news 

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