José Júnior
José Júnior05/08/2023 21:28
Compartilhe

Desenvolvimento Mobile iOS trabalhando com App iOS Sobre Câmbio de Moedas Com MVVM - Criação do Projeto e Telas Com SwiftU

    Para implementar o projeto de câmbio de moedas utilizando o Xcode e o SwiftUI, é necessário seguir alguns passos. Primeiramente, é necessário criar um novo projeto no Xcode e selecionar a opção "App" para criar um novo aplicativo.

    Uma vez criado o projeto, é preciso definir as telas da aplicação utilizando o SwiftUI. No diretório do projeto, abra o arquivo "ContentView.swift". Este será o arquivo que irá definir a interface do usuário do aplicativo.

    Dentro deste arquivo, adicione um VStack para organizar os elementos da interface. Em seguida, adicione um Picker para selecionar a moeda de origem e outro Picker para selecionar a moeda de destino. Para os Pickers, é necessário definir um array de moedas e utilizar o ForEach para criar cada opção.

    Abaixo dos Pickers, adicione um TextField para permitir ao usuário digitar a quantidade da moeda de origem. Finalmente, adicione um Text para mostrar o equivalente da moeda de origem na moeda de destino.

    O código para definir a interface do usuário pode se parecer com o seguinte:

    ```swift

    struct ContentView: View {

      // Array de moedas para os pickers

      let currencies = ["USD", "EUR", "JPY", "GBP"]

      // Variáveis de estado para as seleções dos pickers

      @State private var selectedCurrencyOrigin = 0

      @State private var selectedCurrencyDestination = 1

      // Variável de estado para a quantidade da moeda de origem

      @State private var quantityOrigin = ""

      var body: some View {

        VStack {

          // Picker de seleção de moeda de origem

          Picker("Origem", selection: $selectedCurrencyOrigin) {

            ForEach(0 ..< currencies.count) {

              Text(self.currencies[$0])

            }

          }

          // Picker de seleção de moeda de destino

          Picker("Destino", selection: $selectedCurrencyDestination) {

            ForEach(0 ..< currencies.count) {

              Text(self.currencies[$0])

            }

          }

          // TextField para a quantidade da moeda de origem

          TextField("Quantidade", text: $quantityOrigin)

            .textFieldStyle(RoundedBorderTextFieldStyle())

          // Texto para mostrar o equivalente de moeda de origem na moeda de destino

          Text("Equivalente em \(currencies[selectedCurrencyDestination]):")

        }

      }

    }

    ```

    Além disso, para buscar as informações de taxa de câmbio em uma API pública, é necessário utilizar uma biblioteca externa em Swift, como a Alamofire. Esta biblioteca é importante para realizar requisições HTTP e obter a resposta em formato JSON, que pode ser facilmente processada pela aplicação.

    O código para buscar informações de taxa de câmbio utilizando a biblioteca Alamofire pode se parecer com o seguinte:

    ```swift

    import Alamofire

    func getExchangeRates(completion: @escaping (Result<[String: Double], Error>) -> Void) {

      let apiURL = "https://api.exchangeratesapi.io/latest?base=USD"

      AF.request(apiURL).responseDecodable(of: ExchangeRatesResponse.self) { response in

        switch response.result {

        case .success(let exchangeRatesResponse):

          completion(.success(exchangeRatesResponse.rates))

        case .failure(let error):

          completion(.failure(error))

        }

      }

    }

    struct ExchangeRatesResponse: Decodable {

      let base: String

      let date: String

      let rates: [String: Double]

    }

    ```

    Com o código acima, é possível realizar a requisição HTTP à API de taxa de câmbio e obter um dicionário com as taxas de câmbio em relação ao dólar americano. Este dicionário pode ser utilizado para calcular as taxas de câmbio entre outras moedas.

    Em conclusão, o desenvolvimento de aplicativos iOS utilizando o Xcode e o SwiftUI é uma tarefa complexa que demanda conhecimentos em diversas tecnologias, como Swift, MVVM e Alamofire. Porém, ao seguir as boas práticas de programação e utilizar as ferramentas corretas, é possível criar aplicativos modernos e intuitivos para atender às necessidades dos usuários.

    Compartilhe
    Comentários (0)