ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.