Toy Project/Apple Music (iOS)

10. 받아온 데이터를 띄우자: 구조 설계

개발자킹콩 2021. 2. 27. 19:54

받아온 데이터를 띄우자: 구조 설계

 

 

 

현재 PlayerViewController은 다음과 같다.

 

 

 

 


 

 

 

 

전체적인 큰 틀을 먼저 짜고 구현에 들어가도록 한다.

 

 

 

 

그리고 위에서 필요한 method를 아래와 같이 구조를 짰다.

 

 

 

 

 

 


 

 

설명

 

 

 

 

위에 UIComonents과 코드를 연결하여 위와같이 존재한다.

여기서 simplePlayer를 사용할 것이기에 static로 선언하여 모두에게 유효한 Singleton object를 불러온다.

시간이 얼마나 흘러간지 주기적으로 관찰할 변수와 seek여부를 판단할 변수를 선언하였다.

 

어플리케이션이 load 되면 updatePlayButton()으로 재생 / 멈춤 버튼의 업데이트한다.

그 후 updateTime()으로 currentTimeLabel와 totalDurationLabel의 text값을 초기화 할 것이다.

 

간단하게 TintColor은 Tint의 색을 지정하는 것이다. 우리는 이후에 다크모드에 대해 배울 것인데 이때 재생버튼과 Slider의 재생된 부분이 Default 파란색으로 나오는 것을 확인할 수 있는데 이를 각 모드에 맞는 색으로 지정해 주는 것이다.

View가 나타나기전 updateTintColor()을 호출하여 기본모드라면 검은색, 다크모드라면 흰색으로 지정한다.

 

그 후, HomeViewController에서 PlayerViewController의 simplePlayer객체의 데이터를 업데이트 하는 형식으로 item을 던져주었기에 받아온 아이템을 View가 보여지기 전에 업데이트하는 updateTrackInfo() 를 호출 한다.

 

아직 뷰를 나갈때 구현은 하지 않았다.

 

 

 

 

 

 

 

 

 

 

Drag를 시작할 때 끝낼 때 Seeking를 bool type으로 true, false를 구분하여 구현하였다.

seek는 아직 구현하지 않았다.

togglePlayButton은 재생버튼과 일시정지버튼이 있을 때 교체하면서 보여주는 기능을 의미한다.

updatePlayButton()에서는 현재 재생중인지 멈춤인지를 판단하여 알맞은 재생 / 정지 아이콘을 update만 하면 된다.

 

 

 

 

 

 

 

 

updateTrackInfo: 받아온 데이터를 업데이트하는 메소드

 

updateTintColor: 기본 혹은 다크 모드에 맞는 Tint의 색을 업데이트하는 기능

 

updateTime: 노래를 시작하여나 중앙에서 정지재생을 하거나 그에따른 알맞은 시간이 존재할때 업데이트하는 메소드

 

secondToString: 시간정보는 Double형으로 되어있고 이것이 알맞은 00:00 형식으로 바꿔야 보기 편하기에 이를 바꿔서 String로 return 하는 메소드이다.

 

updatePlayButton: 정지/재생 아이콘을 바꿔주는 메소드이다.

 

 

 

 

 

 

 

'Toy Project > Apple Music (iOS)' 카테고리의 다른 글

12. Slider 기능 구현  (0) 2021.03.02
11. 받아온 데이터를 띄우자: 코드 구현  (0) 2021.03.01
9. View 사이의 데이터 이동  (0) 2021.02.24
8. Player View  (0) 2021.02.22
7. Header View (code 구현)  (0) 2021.02.20