타이머 메서드 시그니처
class func scheduledTimer(
withTimeInterval interval: TimeInterval,
target: Any,
selector: Selector,
userInfo: Any?,
repeats: Bool
) -> Timer
Timer.scheduledTimer(timeInterval:target:selector:userInfo:repeats:)
은 Swift의 Timer
클래스의 클래스 메서드로, 지정된 간격에 따라 반복적으로 작업을 실행하기 위해 타이머를 생성하는데 사용됩니다.
interval
: 타이머의 간격을 지정합니다. TimeInterval
은 Double
타입의 초 단위 값으로, 타이머가 작동하는 주기를 의미합니다.target
: 타이머가 작동할 때, 해당 메서드가 포함된 객체를 가리키는 타겟을 지정합니다. 일반적으로 self
키워드를 사용하여 현재 객체를 지정합니다.selector
: 타이머가 동작할 때 호출되는 메서드를 지정하는 셀렉터(Selector)입니다. 이 셀렉터는 target
객체에 정의되어 있어야 합니다.userInfo
: 타이머에 대한 추가 정보를 전달할 수 있는 사용자 정의 데이터입니다. 필요 없다면 nil
을 지정합니다.repeats
: 타이머가 반복 작동할지 여부를 지정합니다. true
로 설정하면 반복적으로 작동하며, false
로 설정하면 한 번만 작동한 후에 종료됩니다.예시:
class MyViewController: UIViewController {
var timer: Timer?
override func viewDidLoad() {
super.viewDidLoad()
// 타이머 설정
timer = Timer.scheduledTimer(timeInterval: 1.0, // 1초마다 실행
target: self,
selector: #selector(updateTimerLabel),
userInfo: nil,
repeats: true)
}
@objc func updateTimerLabel() {
// 이 메서드가 1초마다 호출될 것입니다.
// 타이머에 의해 반복적으로 호출되는 작업을 수행할 수 있습니다.
}
// 생략: 다른 코드들
}
위 예시에서 viewDidLoad()
메서드에서 타이머를 설정하고, 1초 간격으로 updateTimerLabel()
메서드를 호출하는 타이머가 생성됩니다. updateTimerLabel()
메서드에서는 1초마다 원하는 작업을 수행할 수 있습니다. 만약 뷰 컨트롤러가 메모리에서 해제되기 전에 타이머를 멈추려면, timer
를 옵셔널로 선언하여 타이머를 제어할 수 있습니다.
Timer
클래스를 사용하여 주기적으로 작업을 실행할 때, 메모리 누수를 방지하기 위해 적절한 시기에 타이머를 멈추거나 해제해야 합니다. 예를 들어, 뷰 컨트롤러가 메모리에서 해제되기 전에 타이머를 멈추려면 deinit
메서드에서 invalidate()
메서드를 호출하여 타이머를 해제해야 합니다.
https://zzoo789.tistory.com/entry/iOS-Scene-Window-View에-대한-아주-기초적인-정리
translatesAutoresizingMaskIntoConstraints
behavior
UI, API 축약어를 사용할때도 있음
맨 앞에있을때는 소문자 ui
private extension BankViewController
configureView
configureUI
setUpAutoLayout
로웬꺼 보기