[swift] 스택 뷰를 활용한 실시간 주식 정보 표시하기

이번에는 스택 뷰(Stack View)를 이용하여 실시간 주식 정보를 표시하는 방법에 대해 알아보겠습니다. 스택 뷰는 인터페이스 에셋에 포함되어 있는 사용자 인터페이스(UI) 구성 요소로, 다양한 뷰를 수직 또는 수평으로 정렬할 수 있습니다.

스택 뷰를 사용하기 전에

스택 뷰를 사용하기 위해 주식 정보를 받아오는 API를 사용해야 합니다. 주식 정보를 얻기 위해 외부 API를 사용할 수도 있고, 직접 데이터를 파싱하여 구현할 수도 있습니다. 이 예제에서는 애플(Apple) 주식 정보를 사용하여 실시간 주식 정보를 표시하는 것을 기준으로 설명하겠습니다.

스택 뷰 구성 요소 추가하기

스토리보드에서 스택 뷰를 추가하고, 필요한 레이블, 이미지 등의 UI 요소를 스택 뷰에 추가합니다. 예를 들어, 주식 이름, 가격, 등락 정보를 표시하는 UILabel과 주식 로고를 표시하는 UIImageView를 스택 뷰에 추가할 수 있습니다.

let stackView = UIStackView()
stackView.axis = .vertical
stackView.distribution = .fill
stackView.alignment = .leading
stackView.spacing = 10

let stockNameLabel = UILabel()
stockNameLabel.text = "Apple"
stackView.addArrangedSubview(stockNameLabel)

let stockPriceLabel = UILabel()
stockPriceLabel.text = "$100.00"
stackView.addArrangedSubview(stockPriceLabel)

let stockChangeLabel = UILabel()
stockChangeLabel.text = "+1.5%"
stackView.addArrangedSubview(stockChangeLabel)

let stockLogoImageView = UIImageView()
stockLogoImageView.image = UIImage(named: "apple_logo")
stackView.addArrangedSubview(stockLogoImageView)

이렇게 스택 뷰와 필요한 UI 요소를 추가하면, 주식 정보를 표시할 준비가 끝납니다.

실시간 주식 정보 업데이트하기

주식 정보를 실시간으로 업데이트하기 위해 주기적으로 API 호출을 수행합니다. 주기적인 업데이트를 위해 타이머를 사용할 수 있습니다. 예를 들어, 1초마다 주식 API를 호출하여 실시간 주식 정보를 업데이트하는 코드는 다음과 같습니다.

Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { timer in
    // 주식 정보 API 호출 및 데이터 업데이트 로직 구현
    // 업데이트된 주식 정보를 UI 요소에 반영
}

실제로는 API 호출 부분과 데이터 업데이트 로직을 구현해야 합니다. 이 예제에서는 주식 정보를 임의로 업데이트하는 코드를 작성합니다.

var stockPrice: Double = 100.0
var stockChange: Double = 1.5

Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { timer in
    // 주식 정보 API 호출 및 데이터 업데이트 로직
    stockPrice += Double.random(in: 0.0...2.0)
    stockChange = Double.random(in: -2.0...2.0)

    // 업데이트된 주식 정보를 UI 요소에 반영
    stockPriceLabel.text = String(format: "%.2f", stockPrice)
    stockChangeLabel.text = String(format: "%.2f%%", stockChange)
}

이렇게 타이머를 사용하여 주기적으로 주식 정보를 업데이트하고, 업데이트된 정보를 UI 요소에 반영할 수 있습니다.

마무리

위의 예제를 통해 스택 뷰를 활용하여 실시간 주식 정보를 표시하는 방법을 알아보았습니다. 스택 뷰를 사용하면 주식 정보와 같이 동적으로 변하는 UI 요소를 간편하게 관리할 수 있습니다. 주식 정보 업데이트 로직을 API 호출 등으로 실제로 구현하면 사용자에게 실시간으로 업데이트되는 주식 정보를 제공할 수 있습니다.

참고 자료