Toy Project/Netflix app extension(iOS) 7

7. 받아온 데이터를 Parsing하고 TableView에 띄우기

이제 받아온 데이터를 searchTerm에 넣기만 하면 된다. 현재 출력된 데이터는 snapshot.value에 해당하는 데이터이다. 우리가 필요한 것은 term과 timestamp를 키로 가지는 Dictionary 배열이 필요한 것이다. 우선 Dictionary array로 type casting을 시도하자. 우리는 사실 id를 필요로 하지는 않는다. 그래서 searchHistory의 values만 뽑아내서 사용할 것이다. 그JSON Decoder로 decode하여 [SearchTerm]으로 parsing 할 것이다. 다음과 같이 searchHistory.values를 Array로 type casting을 하고 decode할 데이터로 넣는다. 이때 SearchTerm의 배열형으로 parsing을 한다...

6. HistoryViewController 기본 작업

HistoryViewController 저장된 컨텐츠 목록 tabbar controller을 생성한다. Custom class로 지정한 뒤 TableView를 넣을 것이다. TableView에 TableViewCell을 추가하고 Label 하나만 넣자 간단하게 AutoLayout을 적용한 뒤 TableViewCell의 height를 86으로 지정하자. 셀 사이즈 지정이 가능함을 되새기기위해 사진으로 보여준 것이다. Custom cell을 만들어서 지정하고 Label과 searchTerm을 연결한다. 이제 HistoryViewController에 들어올 때마다 TableView의 reload 작업을 할려고 한다. 그렇다면 TableView를 변수로 담아놔야겠지 일단 데이터를 받아와보자 데이터를 정상적으로 ..

5. 검색어 서버에 저장하기

검색어 서버에 저장하기 우선 데이터베이스에 searchHistory를 추가시키고 db 변수는 이를 참조하도록 지정한다. 검색 결과를 담당하는 부분에서 작업하도록 하자. Id를 Firebase가 알아서 생성하도록 한다. 검색어를 넣는다. 검색한 시간 데이터도 넣는다. 시간 데이터는 Unix Timestamp를 이용한다. Unix Timestamp는 현재 시간을 유니크하게 표현해주는 놈이다. let timeStamp: Double = Date().timeIntervalSince1970 여기에서 값이 1049273.1438029 같은 수가 나오면 소수점 밑의 숫자를 제외시킬 것이다. 결과 다음과 같이 검색과 timestamp값을 firebase에 Write했음을 확인할 수 있다.

4. Nested Scroll View 구현

Nested Scroll View 구현 공개예정에 해당하는 UpcomingViewController이 아직 custom class로 지정되지 않았기에 이를 지정하고 기능을 구현한다. 우선 HomeViewController의 코드를 해석해보자 HomeViewController에서는 3개의 RecommandListViewController를 갖고있다. 이때 prepare을 통해 각각의 segue의 identifier로 ViewController를 구분하고 type을 지정해서 fetch하는 구조이다. RecommandListViewController에 들어가게 되면 updateUI를 하게되고 각 sectionLabel은 HomeViewController에서 updateType으로 지정한 type에 해당하는 텍..

3. Container View를 활용한 Nested ScrollView 만들기

Container View를 활용한 Nested ScrollView 만들기 공개예정 Tabbar에서 생성한 vertical stack view에 임의의 View를 삭제하고 container view 2개를 삽입하자. height는 200이다. 여기서 stack view는 안에 존재하는 content의 크기에 따라 사이즈가 지정이 되기에 stack view의 height auto layout 지정은 삭제한다. 이때 stack view의 height 600을 유지하게 되면 안에 존재하는 contents의 크기가 전부를 못채우기 때문에 에러가 발생한다. 현재 UIView라는 빈공간이 들어가있고 이 빈공간이 오른족에 존재하는 ViewController로 대체되는 구조이다. 일반 ViewController을 Em..

2. Nested Scroll View

Nested Scroll View TableView 와 CollectionView는 ScrollView의 한 형태이다. ScrollView는 화면에 보여지고 스크롤을 할 수 있는 ScrollView 자체가 있고, 그 안에 컨텐츠를 담은 왔다갔다하는 ContentsView가 존재한다. 예를들면 기차를 타고 창밖을 바라보면 배경은 엄청 넓지만 창문으로 바라보는 세상은 위의 그림처럼 제한적이다. 창문이 ScrollView와 대응되고 배경이 컨텐츠와 대응되는 개념이다. 스크롤 뷰는 “공개 예정” tabbar에서 만들어 보겠다. ScrollView를 넣고 Auto Layout으로 4방향 모두 space를 지정해 줬지만 다른 UIComponents와 달리 오류가 계속 뜨고 있다??? --> ScrollView에는 ..

1. Netfilx app extension start

기존의 넷플릭스st application에서 기능을 추가해서 확장해보겠다. 추가할 기능은 두가지다. 1. HomeViewController에서 구현한 것과 같이 Nested Scroll View를 완성한다. 2. Firebase를 연동해서 Search History data를 R/W 한다. Firebase의 경우 연동하는 방법을 정리했으니 참고하길 바란다. 내용이 길지 않으니 이론부터 익히길 바란다. https://yeongwoo-cho.tistory.com/153 1. Firebase Firebase 란? 앱을 만들다 보면 서버와의 Networking을 하는 경우가 많이 생기고, 서버를 만들어야 되는 경우가 존재한다. 이제는 서버를 서비스로 제공하는 것이 존재하고 이는 google의 Firebase이다..