-
Swift 알람 시계 만들기swift 2024. 10. 13. 14:16반응형
#스위프트오 아이폰 앱만들기 2023편 책을 기준으로 블로그 작성 중입니다.
목적
1. 현재 시간
2. 캘린더 만들기
3. 선택 시간 날짜 출력
추가 )
현재 시간이 선택 시간과 같게 되면 1분동안 배경이 빨간색으로
1 분 지날경우 흰색으로 다시 돌아옴
정리
var - 변수
ler - 상수
@IBAction 또는 @IBOutlet 키워드를 통해 StoryBoard에서 버튼이나 레이블같은 컴포넌트와 연결
@는 컴파일러에게 어떤 속성을 가지고있다고 전하는 역할을 하는 예약어이다. 컴파일러에게 @가 붙은 명령어에 대해 어떤 attribute가 부여되었음을 말한다.
@objc를 붙이면 붙여진 swift 코드를 objective-c에서도 사용할 수 있다는 의미
import UIKit class ViewController: UIViewController { let timeSelector : Selector = #selector(ViewController.updateTime) let interval = 1.0 var count = 0 var alarmTime: String? @IBOutlet var test: UILabel! @IBOutlet var libPickerTime: UILabel! @IBOutlet var libCurrentTime: UILabel! override func viewDidLoad() { super.viewDidLoad() Timer.scheduledTimer(timeInterval: interval, target: self, selector: timeSelector, userInfo: nil, repeats: true) } @IBAction func changeDatePicker(_ sender: UIDatePicker) { let datePickView = sender let formatter = DateFormatter() formatter.dateFormat = "YYYY/MM/dd HH:mm EEE" test.text = "선택 시간 " + formatter.string(from: datePickView.date) formatter.dateFormat = "hh:mm aaa" alarmTime = formatter.string(from: datePickView.date) } @objc func updateTime() { // libCurrentTime.text = String(count) // count = count + 1 let date = NSDate() let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE" libCurrentTime.text = "현재 시간 : " + formatter.string(from: date as Date) formatter.dateFormat = "hh:mm aaa" let currentTime = formatter.string(from: date as Date) if (alarmTime == currentTime) { view.backgroundColor = UIColor.red } else { view.backgroundColor = UIColor.white } } }
결과 화면
날짜 선택시 시간이 같으면
반응형'swift' 카테고리의 다른 글
Swift 지도 만들기 Map View (0) 2024.11.23 swift present 메서드 (0) 2024.10.26 unrecognized selector sent to instance (1) 2024.10.26 Swift 피커 뷰 사용해서 원하는 항목 선택하기 (1) 2024.10.13 swift 정리 1 (0) 2023.07.16