//
// ViewController.swift
// hell031
//
// Created by 유명규 on 10/31/24.
//
// UIKit 프레임워크를 가져옵니다.
import UIKit
// UIViewController를 상속받는 ViewController 클래스를 정의합니다.
class ViewController: UIViewController {
// 색상 변경을 위한 타이머 변수를 선언합니다.
var colorChangeTimer: Timer?
// 사용할 색상들의 배열을 정의합니다.
let colors: [UIColor] = [.red, .green, .blue, .yellow, .purple, .orange]
// 현재 색상 인덱스를 저장하는 변수를 선언합니다.
var currentColorIndex = 0
// 뷰가 로드된 후 호출되는 메서드입니다.
override func viewDidLoad() {
// 상위 클래스의 viewDidLoad 메서드를 호출합니다.
super.viewDidLoad()
// 타이머를 시작하는 메서드를 호출합니다.
startColorChangeTimer()
}
// 색상 변경 타이머를 시작하는 메서드입니다.
func startColorChangeTimer() {
// 2초마다 changeBackgroundColor 함수를 호출하는 타이머를 생성합니다.
colorChangeTimer = Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { [weak self] _ in
// 타이머가 실행될 때마다 changeBackgroundColor 메서드를 호출합니다.
self?.changeBackgroundColor()
}
}
// 배경색을 변경하는 메서드입니다.
func changeBackgroundColor() {
// 현재 색상 인덱스의 색상으로 뷰의 배경색을 변경합니다.
view.backgroundColor = colors[currentColorIndex]
// 다음 색상 인덱스로 이동합니다. 배열의 끝에 도달하면 다시 처음으로 돌아갑니다.
currentColorIndex = (currentColorIndex + 1) % colors.count
}
// 뷰 컨트롤러가 메모리에서 해제될 때 호출되는 메서드입니다.
deinit {
// 타이머를 정지시켜 메모리 누수를 방지합니다.
colorChangeTimer?.invalidate()
}
}

변수는 Outlet
함수는 Action
검은 아이콘은 선택 x

sender를 출력한 결과

플러스 버튼 마이너스 버튼 코드
import UIKit
class ViewController: UIViewController {
var x = 0
@IBOutlet weak var lblNumber: UILabel!
@IBAction func btnUp(_ sender: Any) {
x = x + 1
lblNumber.text = String(x)
}
@IBAction func btnDown(_ sender: Any) {
x = x - 1
lblNumber.text = String(x)
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
실행 결과

03 원하는 이미지 화면에 출력하기 - 이미지 뷰
실행결과

04 데이트 피커 사용해 날짜 선택하기

05 피커 뷰 사용해 원하는 항목 선택하기

06 얼럿 사용해 경고 표시하기

07 웹 뷰로 간단한 웹 브라우저 만들기

08 맵 뷰로 지도 나타내기
09 페이지 이동하기 - 페이지 컨트롤
10 탭 바 컨트롤러 이용해 여러 개의 뷰 넣기
11 내비게이션 컨트롤러 이용해 화면 전환하기
12 테이블 뷰 컨트롤러 이용해 할 일 목록 만들기
13 음악 재생하고 녹음하기
14 비디오 재생 앱 만들기
15 카메라와 포토 라이브러리에서 미디어 가져오기
16 코어 그래픽스로 화면에 그림 그리기
17 탭과 터치 사용해 스케치 앱 만들기
18 스와이프 제스처 사용하기
19 핀치 제스처 사용해 사진을 확대/축소하기
출처 - Do it! 스위프트로 아이폰 앱 만들기 입문, 송호정, 이범근 저,이지스퍼블리싱, 2023년 01월 20일