본문 바로가기

반응형

전체 글

(290)
AppleAppStore - 19. 메모리 누수 확인 안녕하세요~ Skillist입니다. AppleAppStore에 대한 글을 작성합니다. 바로바로 성능 체크에 대한 글이에요. 요즘 개발에만 빠져있어서, 성능체크나 테스트코드 작성은 못했는데, 반성합니다. 그럼 바로 성능 체크 하죠! ------------------------------------------------------------------------------------------------------------------ Instruments의 Leaks 도구를 활용해봤어요. 그리고 시작과 동시에 앱을 사용하며, 메모리 릭을 체크했습니다. GIF인데, 아래 그림을 봐주세요. 시간이 지남에 따라, Leaks에 초록색 체크 그림이 보이죠. 초록색 체크박스는 메모리 릭이 존재하지 않다는 의미에요. ..
번역기 앱 - 12. 프로젝트 소감 안녕하세요. Skillist입니다 프로젝트를 끝내며, 소감을 말해볼까 합니다. 약 한달전에 다짐한 RxSwift 공부 다짐. 아직 잊지 않았습니다. https://skillist.tistory.com/298?category=530940 RxSwift, RxCocoa 공부 다짐 안녕하세요!! Skillist입니다. 21년이 된지 10일이 지났어요. 다들 다짐하고 계획한 일들은 잘 지키고 있나요? 저는 아주아주 잘 지키고 지속적으로 해나가고 있어요. 글은 못쓸지언정, iOS 앱 개발 skillist.tistory.com 저에게 있어서 RxSwift는 벽과 같았어요. 러닝커브가 높다는것은 들어서 알고있었지만, 경험을 통해 제대로 느꼈습니다. 학습을 위해 쏟은 시간이나, 노력이 적지 않다고 생각하는데, 크게 와..
번역기 앱 - 11. 번역 화면 개발하기 안녕하세요. Skillist입니다 추후 수정사항이 없다면 아마도 이번 글이 마지막이 되지 않을까 생각해요. 번역 화면만 구현하면 됩니다! 지금까지 구현한 View 3개를 몽땅 사용할거에요. 그러다 보니 bind가 생각보다 더 복잡합니다. 각오 하고 따라오세요. ——————————————————————————————————————————————————— ViewModel부터 보겠습니다. 12라인 : 언어 선택 View에 대한 ViewModel입니다. ViewModel이 ViewModel을 가지고 있습니다. 13라인 : 번역할 text 입력 View에 대한 ViewModel입니다. 14라인 : 번역 결과 View에 대한 ViewModel입니다. 17라인 : 번역 API를 Request하고 Response가 ..
번역기 앱 - 10. 번역 결과 View 안녕하세요. Skillist입니다 2월 1일 공부는 끝내려고 했는데, 빨리 끝내고 다른 프로젝트 하는게 좋을것 같아, 글 한개 더 작성합니다. 번역 결과를 보여주는 View를 구현할거에요. ——————————————————————————————————————————————————— ViewModel 부터 살펴보죠 15라인 : 언어가 변경됐을때 활용하는 Relay입니다. 16라인 : 복사 버튼을 탭했을때의 Relay입니다. 17라인 : 보관(북마크) 버튼을 탭했을때의 Relay입니다. 18라인 : 번역된 Text에 대한 Relay입니다. 19라인 : 해당 View의 isHidden에 대한 Relay입니다. 24라인 : 버튼 탭 이벤트를 받으면, 번역된 text를 클립보드에 복사합니다. ———————————..
번역기 앱 - 9. 번역할 Text 입력 View 안녕하세요. Skillist입니다 아침에 창밖에 쌓인 눈을 보고 글 작성을 시작했는데, 날이 제법 어두워졌습니다. 하루종일 학습과 개발, 글작성을 하다보니, 밖에 나가서 놀고싶네요. 내일은 미세먼지도 좋고, 날도 안추우면 좋겠네요. 이번엔 Text 입력 View입니다. label 1개와 버튼 1개, textView 1개를 사용합니다. 우측 상단의 버튼을 터치하면, hide되고, textView의 text가 리셋됩니다. ——————————————————————————————————————————————————— viewModel을 먼저 볼게요. 16라인 : 입력된 Text를 리셋하는 리셋 버튼 탭에 대한 Relay입니다. 17라인 : 입력된 Text에 대한 Relay입니다. 18라인 : 번역할 text가 ..
번역기 앱 - 8. 언어 선택 View 안녕하세요. Skillist입니다 아침부터 글을 작성하다보니, 어느덧 오후네요;;;;;;;; 이렇게 연휴는 지나가나봅니다. 뭐 하루를 잘 사용했으면 된거죠. 언어 선택 View를 구현해볼게요. 버튼 3개만 구현하면 되겠죠? ——————————————————————————————————————————————————— viewModel을 볼게요. 13라인 : disposeBag입니다. 16~18라인 : 버튼 터치에 대한 이벤트를 받습니다. 20~20라인 : view에서 언어를 변경하면, 변경된 언어 이벤트를 받습니다. 24~24라인 : Driver로, 변경된 언어를 전달합니다. 27, 35라인 : asDriver를 통해 Relay를 Deiver로 변경합니다. Driver는 error가 없고 Main쓰레드에서..
번역기 앱 - 7. 번역 화면의 구성 안녕하세요. Skillist입니다 이번엔, 번역 화면을 구성 하기전에! 어떻게 구현돼있는지 볼거에요. 왜냐면, 번역 화면은 크게 3개의 뷰로 구현돼있거든요. ——————————————————————————————————————————————————— 번역 화면은 3개로 쪼개서 구현했습니다. 다음 사진을 보시죠. 아~ 잘 모르겠다구요?? 1번 : 언어 선택 View 2번 : 번역할 text 입력 View 3번 : 번역된 text 입력 View view 하이라키를 볼까요? View에, ScrollView가 존재하고, 그 안에는 StackView가 있습니다. StackView는 앞서 말한 1, 2, 3번 View를 가지고 있습니다. TableView로 구현할 수 있지만, view는 이미 정해져있고, 3개로 한..
번역기 앱 - 6. 보관함 화면 Cell 구현 안녕하세요. Skillist입니다 눈이 오고 난 후에 미세먼지가 많아져서 기분 또한 다운됐네요. 이번엔 Cell을 살펴볼게요. 기록 화면의 Cell과 거의 유사하기때문에, pass하셔도 됩니다. 설명은 쭉쭉 넘어갈게요 ——————————————————————————————————————————————————— Cell에서 사용할 UI 컴포넌트들입니다. UI컴포넌트들과 이니셜라이저입니다. 스냅킷으로 제약사항을 구성했습니다. 스냅킷으로 제약사항을 구성했습니다. addTarget에서 사용할, func입니다. private extension으로 따로 구현했습니다. ——————————————————————————————————————————————————— 이번은 따로할 코멘트가 없었어요. cell은 스냅킷 구현..
번역기 앱 - 5. 보관함 화면 구현 안녕하세요. Skillist입니다 오늘은 보관함 VC를 구현해보겠습니다. 이전에 구현한 기록 VC와는 다른 부분이 있습니다. RxDataSource를 활용하여 tableView를 구현합니다. 이부분을 중점으로 보시면 될것 같아요. ——————————————————————————————————————————————————— viewModel부터 볼게요! 12라인 : RxDataSource의 AnimatableSectionModel을 사용합니다. section과 아이템 타입(HistoryModel)입니다. 18라인 : bookmark delete 이벤트를 view에서 viewModel로 전달할거에요. 21라인 : view의 tableView가 사용할 목록이에요. section 모델 배열을 방출합니다. sec..
번역기 앱 - 4. 기록화면의 cell 구현 안녕하세요. Skillist입니다 아침에 눈 뜨고 창밖을 바라보니, 눈이 소복이 쌓여있네요. 오늘도 활기차게 시작해봅니다. 이번에 구현해볼 cell입니다. 왼쪽은 다크모드 + 영어 오른쪽은 라이트모드 + 한글 입니다. 라이트 모드를 고려하여 배경색상도 구성하였고, 다국어도 고려했습니다. 참고로, cell에대한 RxSwift 바인딩을 적용하고 싶었는데, viewModel을 사용하지 않았습니다. 좀 더 공부하여 추후에 적용해볼게요. ——————————————————————————————————————————————————— 11라인 : cell의 ientify를 cell이 가지도록 했습니다. 덕분에, 오타로 인한 에러에 대해 안정적입니다. 12라인 : cell은 history 정보를 가지고 있습니다. 14라..

반응형