Как я могу имитировать strings.xml использование Swift

#swift #string #api #endpoint

#swift #строка #API #конечная точка

Вопрос:

Я хочу использовать структуру для установки своих конечных точек.

Проблема в том, что какой-то конечной точке требуются параметры, я имею в виду, вот как это выглядит в коде:

для строк.XML (Android)

    <string name="get_users">MyAPI/GetUsers</string>
    <string name="get_user_by_id">MyAPI/GetUser/%d</string>
 

на Swift

 import Foundation
struct Endpoints {
    static let get_users = "MyAPI/GetUsers"
    static let get_user_by_id = "MyAPI/GetUser/????"
}
 

Как я могу сделать второй на Swift?

Большое спасибо за ваше внимание

Комментарии:

1. Вы можете использовать String(format:) и сохранять держатель для размещения. Вы также можете проверить это swiftbysundell.com/clips/4 (например, перечисление с соответствующим значением)

Ответ №1:

Для этого варианта использования я бы использовал перечисление, например:

 enum Endpoints {
    case get_users
    case get_user_by_id(String)

    var path: String {
        switch self {
        case .get_users:
            return "MyAPI/GetUsers"
        case .get_user_by_id(let id):
            return "MyAPI/GetUser/(id)"
        }
    }
}
 

Следующее

 print(Endpoints.get_users.path)
print(Endpoints.get_user_by_id("foo").path)
 

С принтами

 MyAPI/GetUsers
MyAPI/GetUser/foo