어제도 그렇고 오늘도 그렇고 사실 오늘 배운거라기보단 오늘 한 것을 적는 느낌. TMDB 프로젝트 화면에서 링크 버튼 누르면 예고편 동영상 재생하는 웹뷰 구현 #selector를 이용할때 sender가 버튼이므로 tag이용해서 예고편 영상 key가져옴. -> 오래걸림 링크버튼을 누를때, 네트워킹을 하는데 데이터를 받아오기전에 유투부 웹뷰를 띄워버려서 해결하는데 오래걸림. -> 오늘 배운 completionHandler를 이용함. fetchTrailerLink에서 받아온 데이터가 클로저의 key로 들어가고 in 뒤의 코드들이 실행됨. 이제 네트워킹을 Manager로 따로 빼서 코드를 좀 수정하면될듯. 동기 비동기, 클로저 등 공부할거 너무많음. 일단 프로젝트에서 적용해보고 공부할듯
프로젝트를 진행하며 컬렉션뷰 셀의 버튼에 addTarget을 통해 액션을 만들어주었다. 이때 파라미터로 Int값을 받아와 네트워킹을 진행하고 싶었는데 불가능했다. #selector를 사용할 땐 일반적인 함수처럼 Int, String 타입 등의 파라미터를 전달할 수 없고, 오로지 버튼이나 제스쳐같은 것들만 파라미터로 받을 수 있다. 그래서 나는 버튼의 tag를 이용해보기로했다. 데이터가 들어있는 배열의 indexPath.item번째 값이 필요했기때문에 아래와 같이 작성해주었다. cellForItemAt에서 아래와 같이 적어주면 버튼의 태그에는 해당 셀의 indexPath.item값이 들어갈 것이다. 버튼의 태그로 몇번째 셀의 버튼을 클릭했는지 알 수 있어 알맞게 네트워킹을 진행할 수 있었다. 결과 잘나옴.
오늘은 수업 내용을 따로 훑지 못함. 과제하는데 시간을 다 써버림. 주말에 확인하기. TMDB API를 이용해 영화 리스트를 보여주는 프로젝트를 함. 따로 신경썼다고 생각하는 부분만 적어봄. 메인 화면 날짜 yyyy-MM-dd로 오는 형태를 MM/dd/yyyy로 바꿔줌. 장르 장르 api를 이용해 장르 dictionary를 미리 만들어줌. 정수 배열로 데이터가 오는데 맨 앞의 정수를 키값으로 사용하는 장르 dictionary의 value를 가져와서 띄움. 평점 Double형태의 데이터가 오는데 소수점 둘째자리에서 반올림해서 평점을 구함. -> 10을 곱하고 반올림한 뒤, 다시 나눠주면 둘째자리에서 반올림이 됨. 페이지네이션 UICollectionViewDataSourcePrefetching 프로토콜을 채..
프로젝트를 생성하면 아래처럼 기본적으로 폴더 하나가 만들어진다. 이 폴더 바깥에 ".gitignore"라는 이름을 가진 empty파일을 하나 만들어준다. (.이 앞에 붙어있으면 숨김폴더라는 의미) 아래와 같이 알림창이 뜰텐데 그냥 Use를 눌러준다. 이제 깃허브에 올리지않을 파일을 적어주면된다. 단, 파일을 생성하기 전에 미리 이름을 적어주어야 한다. (나중에 적어도되지만 복잡함) Keys라는 swift파일을 gitignore에 적어보겠다. gitignore에 Keys.swift만 적은 상태로 Keys와 Model 파일을 생성한 뒤, push를 해보았다. Keys 스위프트 파일은 보이지않고, Model만 있는 것을 확인할 수 있다. .gitignore파일을 선택하여 확인해보면 어떤 파일을 적었는지는 확인..
Xcode에서 gitignore생성 가능 -> 따로 글쓰기 yyyy vs YYYY YYYY는 Week of Year의 년(?)을 나타내고 yyyy가 calendar year를 나타내므로, yyyy를 쓰면됨. 타입추론 vs 타입어노테이션 예전에는 타입 어노테이션을 해주는 것이 더 빨랐지만, 애플이 알고리즘을 점점 수정하면서 타입 추론을 이용하는 것이 시간이 덜 걸림. 디바이스 네트워크 컨디션 Window - Devices and Simulators에서 기기가 연결되어 있다면 아래쪽에서 네트워크 컨디션을 설정해서 느리게 할 수 있음. 인코딩 검색 API를 사용할때 사용자가 한글로 입력해도 주소창엔 변환돼서 보임. 실제로 네트워크 통신을 할때 URL에 한글을 넣으면 제대로 동작하지 않음. -> 인코딩필요 ad..
- Total
- Today
- Yesterday