Objective-C로 구현된 LCDView를 Swift로 변환

복싱 타이머 숫자 표시 복싱 타이머에서 시간을 어떻게 보여줄까 생각하다가 LCD 시계처럼 보여주기로 했다. Github에서 “LCD Digit"으로 검색해서 찾은 LcdiPhone을 사용하기로 했다. “Cocoa LCD Screen View”을 보니 괜찮다. 사용권도 Apache License 2로 사용하는데 별문제가 없다. Objective-C로 구현되어 있어도 Swift에서 직접 사용할 수 있겠지만, Swift를 익히는 과정이기에 Porting을 해보기로 했다. Swift 버전 Github 저장소에 있는 파일 중에서 숫자 표시 View인 MTILcdView.h, MTILcdView.m 파일만 Swift로 재구현했다. Swift에서는 헤더 파일이 따로 없기에 LCDView.swift 파일 하나로 구현했다....

4월 3, 2015

Boxing Timer에서 Model 설계 및 구현

Model 설계 Boxing Timer에서 Model의 역할은 다음과 같다. 정해진 시간을 내려 센다. 3분을 내려 센 후, 종료하면 30초를 내려 센다. 이것을 멈추기 전까지 반복한다. 매 초마다 변경된 시간을 알린다. 시간이 0이 되었다고 알린다. 시간을 알리는 것은 Protocol을 이용한다. Model 구현 대략 다음의 인터페이스를 구현했다. 시간 알림 Protocol을 구현한 Observer 등록 타이머 시작 타이머 멈춤 타이머 시간 초기화 여기까지 작업한 소스는 Github에 올려두었다.

3월 2, 2015

연습으로 만들어볼 복싱 타이머

Boxing Timer 건강을 위해 집에서 가장 가까운 체육관에 운동하러 다닌다. 헬스클럽은 아니고 복싱 체육관이다. 복싱 체육관이다 보니 대부분의 운동 시간은 복싱 라운드가 기본 단위가 된다. 3분 운동하고 30초 쉬고, 다시 3분 운동하고 30초 쉬는 것의 반복이다. 쇠로 된 벨에 연동되어 있어, 시간이 끝날 때마다 크게 땡 소리가 울려 퍼진다. 초기 기능 목록 대충 생각나는 핵심 기능만 정리해본다. 일단 시간은 2가지에서 선택할 수 있다. 3분/30초 반복, 2분/30초 반복. 시작/정지 버튼 및 초기화 버튼....

2월 24, 2015