본문 바로가기
ios 뽀개기/ios 응용해보기

데이트 피커뷰와 alert이용해서 간단한 알람시계 구현

by 인생여희 2017. 12. 14.
반응형

데이트 피커뷰와 alert이용해서 간단한 알람시계 구현




import UIKit


class ViewController: UIViewController {

    

    //알람끄기

    var alarm: Bool = true

    

    var count = 0

    

    //updateTime함수 할당

    let timeSelector: Selector = #selector(ViewController.updateTime)

    

    //현재시간, 선택된 시간

    @IBOutlet weak var curentTime: UILabel!

    @IBOutlet weak var selectTime: UILabel!

    

    

    //화면이 호출될때 실행

    override func viewDidLoad() {

        super.viewDidLoad()

        //1초에 한번씩 timeSelector 함수를 호출

       Timer.scheduledTimer(timeInterval: 1, target: self, selector: timeSelector, userInfo: nil, repeats: true)

    }



    //데이터 피커가 선택되었을때 실행

    @IBAction func datePicker(_ sender: UIDatePicker) {

        //데이터피커뷰 할당

        let datePickerView = sender

        //포멧설정

        let selFormatter = DateFormatter()

        selFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE"

        

        //라벨에 할당

        selectTime.text = selFormatter.string(from: datePickerView.date)

        //알람켜기

        alarm = true

    }

    

    //1초마다 호출되는 현재시간 부분

    @objc func updateTime(){

        let date = NSDate()

        let formatter = DateFormatter()

        formatter.dateFormat = "yyyy-MM-dd HH:mm:ss EEE"

        curentTime.text = formatter.string(from: date as Date)

        

        if curentTime.text == selectTime.text{

            

            if alarm {

                callAlert()

            }

        }

    }

    

    func callAlert(){


        let alert = UIAlertController(title:"알림",message:"시간됐어요", preferredStyle:UIAlertControllerStyle.alert)

        let action = UIAlertAction(title:"끄기",style:UIAlertActionStyle.default, handler:{

            //알람끄기

            ACTION in self.alarm = false

            //self.alarm = false

        })

        alert.addAction(action)

        present(alert,animated: true, completion: nil)

        

    }

}



반응형

'ios 뽀개기 > ios 응용해보기' 카테고리의 다른 글

맵뷰 map view  (0) 2017.12.14
웹뷰 webview  (0) 2017.12.14
두개의 피커 뷰 이용하기  (0) 2017.12.13
데이트 픽커뷰 이용해서 알람시계 구현  (0) 2017.12.13
유동적인 테이블뷰 2  (0) 2017.12.13

댓글