Structure Date
현재 시간을 세계표준시로 반환한다.
Class DateFormatter
날짜와 그것을 표현하는 문자열간의 변환을 담당하는 포매터.
이번 챕터에서는 시간을 나타내는 도구를 이용할 것이다. Date를 이용하면 현재의 날짜와 시간을 얻을 수 있는데 MVC 패턴에 따라 모델에 해당하는 시간에 대한 정보는 별도의 클래스를 생성하여 저장하고 이것을 화면에 표시하기 위해 DateFormatter 로 시간에 대한 문자열을 생성해보자.
File > New > File from Template 메뉴에서 새로운 파일을 생성할 수 있다. (⌘N)
파일이름은 클래스를 찾는 용도이므로 가급적 클래스명과 일치시키는 것이 좋다.

Clock.swift 를 입력하고 Create 버튼을 클릭해보자.
파일안에 Clock 이라는 클래스를 만들고 Date 클래스의 인스턴스를 date 라는 프로퍼티에 할당한다.
// Clock.swift
class Clock {
let date = Date()
}
이번엔 Main.storyboard 파일을 클릭하여 오브젝트 라이브러리에서 lable을 뷰컨트롤러 중앙에 위치시키고 ViewController 클래스에 outlet으로 timeLabel 을 선언해준다.
이어서 다음과 같은 코드를 추가해보자.
// ViewController.swift
class ViewController: UIViewController {
@IBOutlet weak var timeLabel: UILabel!
let clock = Clock() // clock 프로퍼티에 Clock 인스턴스를 할당한다.
override func viewDidLoad() {
super.viewDidLoad()
// DateFormatter의 인스턴스를 만들고
let formatter = DateFormatter()
// 초단위까지 표시하기 위해 시간표시 스타일을 medium 으로 지정한다.
formatter.timeStyle = .medium // date 를 문자열로 변환하여 레이블의 텍스트에 할당한다.
timeLabel.text = formatter.string(from: clock.date)
}
}
앱을 실행해보면 현재 시간이 화면에 표시 될 것이다.
DateFormatter 의 용법을 좀 더 알고 싶다면 애플에서 제공하는 문서를 참고하면 된다.
⌥ 키를 누르고 해당 클래스로 드래그 해서 커서가 ? 로 바뀌면 버튼을 눌러보자.
다음처럼 간략히 설명히 제공되는데 Formatter 를 상속받고 Foundation.NSDateFormmatter 에 선언되어 있음을 알 수 있다.

좀 더 자세한 정보를 알기 위해 링크된 텍스트를 클릭하거나 Developer Documentation 으로 접속해보자.(⇧ ⌘ 0 )
검색해보면 DateFormatter 의 문서를 어렵지 않게 찾을 수 있다.
우측을 보면 지원되는 언어와 SDK 버전을 알 수 있다.

클래스의 대한 설명과 예제도 자세히 설명되어 있고 각 프로퍼티와 메서드의 용법을 알 수 있다.
크게보면 결국 프로퍼티와 메서드를 공부하는 것이고 프로퍼티는 인스턴스 프로퍼티와 타입프로퍼티, 메서드도 인스턴스 메서드와 타입 메서드로 나뉜다.
그동안 공부했듯이 func 로 선언된 메서드는 인스턴스에서만 접근 가능한 인스턴스 메서드이다.
다음의 localizedString(from:dateStyle:timeStyle:) 은 class func 로 선언되어 있는데 이것이 타입에서만 접근 가능한 타입 메서드이므로 다음처럼 타입에서 바로 접근 가능하다.
DateFormatter.localizedString()
마찬가지로 프로퍼티도 일반 변수는 인스턴스 프로퍼티,
class 로 선언되어 있다면 타입 프로퍼티라고 한다.
defaultFormatterBehavior 도 타입 프로퍼티이므로 다음처럼 바로 타입에서 접근해 사용한다.
DateFormatter.defaultFormatterBehavior
보통 모르는 내용이 나오면 구글링으로 해결할 수 있지만 언어를 만든 애플에서 제공한 문서가 가장 정확하고 빠짐없이 내용을 기술해 놓았다.
처음엔 온통 영어로 알 수 없는 내용만 가득해서 어려울 수 있지만 실력이 향상 될 수록 문서가 이해되고 그 중요성을 알게 될 것이다.
처음 배우는 내용을 익힐때는 항상 애플문서를 참조하는 습관을 들이도록 하자.