복싱 타이머 숫자 표시

복싱 타이머에서 시간을 어떻게 보여줄까 생각하다가 LCD 시계처럼 보여주기로 했다.

LCD 시계

Github에서 “LCD Digit”으로 검색해서 찾은 LcdiPhone을 사용하기로 했다. “Cocoa LCD Screen View”을 보니 괜찮다.

Example of the LCD view

사용권도 Apache License 2로 사용하는데 별문제가 없다.

Objective-C로 구현되어 있어도 Swift에서 직접 사용할 수 있겠지만, Swift를 익히는 과정이기에 Porting을 해보기로 했다.

Swift 버전

Github 저장소에 있는 파일 중에서 숫자 표시 View인 MTILcdView.h, MTILcdView.m 파일만 Swift로 재구현했다.

Swift에서는 헤더 파일이 따로 없기에 LCDView.swift 파일 하나로 구현했다.

예전에 작업했던 것이라 기억에 남는 것만 정리해본다.

  • Cocoa library를 사용하는 것은 큰 차이가 없기에 CoreGraphic을 이용해서 그림을 그리는 부분은 거의 그대로 가져왔다.
  • 메모리 관리하는 코드는 삭제했다. Swift에서 ARC(Automatic Reference Counting)만 지원한다.
  • @IBDesignable, @IBInspectable을 사용해서 Story board에서 조정할 수 있게 구현
  • 가독성을 높이는 방식으로 코드 정리

Story board

Comments