라티의 작은 일기장

[16일차] [명언 생성기 앱] 명언 생성 기능 구현하기 - part.2 본문

Swift

[16일차] [명언 생성기 앱] 명언 생성 기능 구현하기 - part.2

코드라티 2023. 3. 7. 23:51

오늘은 명언 생성기 앱 구현을 마무리 하려고 한다!

지난 회차는 명언 생성기 앱의 UI 구현을 중점적으로 진행하였고, 오늘은 앱의 기능을 구현하는 것을 목표로 할 것이다.

 

앞서 다루었던 IBOutlet, IBAction을 사용할건데, 우선은 명언 표시 영역의 두 Label에 Outlet 변수를 연결해보자.

 

명언을 표시하기 위한 Label의 이름을 quoteLabel, 이름을 표시하기 위한 Label의 이름을 nameLabel이라고 명명하였다.

UI에서 만들었던 명언 생성 버튼의 기능을 구현하기 위한 IBAction 함수도 정의해보자.

함수의 이름은 tapQuoteGeneratorButton 이라고 하였다.

다음은 우리가 무작위로 보여줄 명언의 정보를 가지고 있는 구조체를 한 번 만들어보자.

프로젝트 폴더에 우클릭 - New File... 선택 후 Swift 파일을 생성하고, 해당 Swift 파일의 이름을 Quote라고 명명하였다.

해당 구조체에 다음과 같은 프로퍼티를 정의하면 된다.

import Foundation

struct Quote {
    let content: String
    let name: String
}

 

이렇게 매우 간단한 구조체를 정의하고 다시 Main ViewController로 돌아와서, 기존에 검색해두었던 명언을 구조체 변수에 할당해보자.

요즘 핫한 챗GPT를 활용해서 명언을 수집해보았다!

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var quoteLabel: UILabel!
    @IBOutlet weak var nameLabel: UILabel!
    let quotes = [
    Quote(content: "당신이 생각하는 대로 되기를 원한다면, 일단 그렇게 믿으며 노력하라.", name: "네이폴레옹 힐"),
    Quote(content: "행복한 삶의 비밀은 우리가 무엇을 갖고 있는가가 아니라 누구와 함께 하는가에 있다.", name: "알렉산더 릴리"),
    Quote(content: "인생에서 가장 중요한 것은 가치 있는 일을 하고 그것을 사랑하는 것이다.", name: "헨리 포드"),
    Quote(content: "당신이 남들에게 바라는 대로 대우해주는 사람에게 당신은 그만한 가치가 있다.", name: "매리언 엔더슨"),
    Quote(content: "일찍 일어나는 새가 벌레를 잡는다.", name: "조지 와셔턴")
    ]
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }
    @IBAction func tapQuoteGeneratorButton(_ sender: Any) {
    }
    


}

그렇게 선언한 구조체 변수들을 배열에 담아두었다.

명언 생성 버튼이 눌렸을 때 이 배열에 있는 명언을 무작위로 뽑아서 두 Label에 표시되도록 만드는 것이 목표이다.

 

따라서 IBAction 함수를 다음과 같이 정의해준다.

    @IBAction func tapQuoteGeneratorButton(_ sender: Any) {
        let random = Int(arc4random_uniform(5)) // 0 - 4 사이의 난수 발생
        let quote  = quotes[random]
        self.quoteLabel.text = quote.content
        self.nameLabel.text = quote.name
    }

난수를 발생시킬 때는 arc4random_uniform() 이라고 하는 난생 처음 들어보는 메소드를 활용한다.

아무튼 함수를 작성한 뒤에 앱을 빌드하고 결과를 확인해보면?

오오 잘 나오는 것을 확인할 수 있다! 명언 생성 버튼을 눌렀을 때 명언도 잘 바뀐다!

디자인은 없다시피한 매우 간단한 수준의 앱이지만 iOS 앱이 대충 이런 식으로 개발되는구나~라고 하는 플로우를 아는 것에 의의를 두자.

이렇게 간단한 명언 생성 앱을 구현해보았다.

 

 

 

패스트캠퍼스 바로가기 : http://bit.ly/3Y34pE0

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

> 본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.