iOS 프로젝트 62

[iOS] 작심삼일 개발 일지 - 2

안녕하세요. 개발하는 정주입니다. 오늘은 작심삼일 개발 일지 - 2에 대해 포스팅하려고 합니다. https://github.com/jeongju9216/ThreeDayHump GitHub - jeongju9216/ThreeDayHump: "작심삼일" iOS 애플리케이션 1인 프로젝트 "작심삼일" iOS 애플리케이션 1인 프로젝트. Contribute to jeongju9216/ThreeDayHump development by creating an account on GitHub. github.com * 해당 포스팅은 대략적인 개발 일지로 자세한 내용은 필요시에만 따로 포스팅합니다. 목차 목표 오늘의 첫 번째 목표는 작심삼일 버튼을 눌렀을 때 Day Count 뷰를 칠하는 것입니다. 두 번째 목표는 작심삼..

[iOS/Swift] 작심삼일 개발 일지 - 1

안녕하세요. 개발하는 정주입니다. 오늘은 작심삼일 개발 일지 - 1에 대해 포스팅하려고 합니다. * 해당 포스팅은 대략적인 개발 일지로 자세한 내용은 필요시에만 따로 포스팅합니다. 목차 목표 오늘은 며칠간 해결하지 못했던 ViewController A와 B 간의 이동을 해결하는 것이 목표였습니다. 작심삼일 프로젝트는 조건에 따라 시작하는 VC가 달라져야 합니다. 또한 A에서 B로 이동한 뒤에는 탭을 눌러도 화면이 B로 유지돼야 합니다. iOS에서는 처음 시도해보는 동작이라 어떻게 해결해야 하나 고민이 많았습니다. 오늘은 무조건 해결하자라고 결심을 하고 개발을 시작했습니다. 문제 상황 개발을 하며 크게 두 가지 문제가 있었습니다. 1. 조건에 따라 root VC를 A나 B로 변경하면 하단 탭 바가 나오지 ..

[iOS/부스트 코스] Weather Today(4) - 코드 리뷰

안녕하세요. 개발하는 정주입니다. 오늘은 Weather Today의 코드 리뷰에 대해 포스팅하려고 합니다. 목차 화면 1 화면 1에서 지적받은 부분은 한 곳이었습니다. let country = self.countries[indexPath.row] cell.textLabel?.text = country.name let flagName = "flag_\(country.assetName)" cell.imageView?.image = UIImage(named: flagName) 위 코드는 제가 원래 작성했던 코드입니다. 이 코드의 문제는 View Controller에서 데이터의 가공이 이루어졌다는 점입니다. 따라서 이 코드는 flagName을 Computed Property로 수정했습니다. let assetNa..

iOS 프로젝트 2021.12.24

[iOS/부스트 코스] Weather Today(3) - 기능 구현

안녕하세요. 개발하는 정주입니다. 오늘은 Weather Today의 기능 구현에 대해 포스팅하려고 합니다. 이번 기능 구현에서도 Clean Code에 유념하여 코드를 작성하였습니다. 목차 JSON 파싱 이번 프로젝트에서는 JSON 파싱이 기본적으로 들어갑니다. 따라서 Assets의 JSON 파일을 읽어와 파싱 해야 합니다. 이번 포스팅에서는 화면 1의 JSON 파싱만 작성해보겠습니다. [ {"korean_name":"한국","asset_name":"kr"}, {"korean_name":"독일","asset_name":"de"}, {"korean_name":"이탈리아","asset_name":"it"}, {"korean_name":"미국","asset_name":"us"}, {"korean_name":"프..

iOS 프로젝트 2021.12.23

[iOS/부스트 코스] WeatherToday(2) - 화면 구성

안녕하세요. 개발하는 정주입니다. 오늘은 WeatherToday 화면 구성에 대해 포스팅하려고 합니다. 목차 전체 스토리보드 전체 스토리보드 모습입니다. 화면 이동을 위해 내비게이션 컨트롤러를 추가하였습니다. Navigation Bar 내비게이션 바부터 설정하였습니다. 내비게이션 바를 구현하며 힘들었던 점은 버전별로 동작이 다르다는 것이었습니다. iOS 15 이상에서 UIKit의 scrollEdgeAppearance에는 약간의 변화가 생겼습니다. 바로 기본적으로 투명한 배경을 가진다는 것인데요. 따라서 scrollEdgeAppearance 색을 따로 지정하지 않는다면 윗부분에는 색이 적용이 되지 않습니다. 이것을 해결하는 방법은 비교적 간단합니다. 바로 scrollEdgeAppearance을 설정해주면 ..

iOS 프로젝트 2021.12.21

[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(5) - 코드 리뷰 / Pass 후기

안녕하세요. 개발하는 정주입니다. 오늘은 Sign Up 코드 리뷰를 받은 것에 대해 포스팅하려고 합니다. 재제출 결과 Pass를 받을 수 있었습니다. 이번 리뷰어는 두 가지 코멘트를 달아주셨는데요. 이에 대해 자세히 알아보겠습니다. Fail 이유에 대해서는 4편을 참고해 주세요! 목차 종합 의견 리뷰어가 남긴 종합 의견은 "깔끔하다."입니다. 이 멘트를 보고 참 기분이 좋았습니다. Clean Code에 신경을 쓰자는 다짐을 하고 iOS에 임한 만큼 코드가 깔끔하다는 평가는 잘 동작한다보다 훨씬 크게 다가왔습니다. 보람이 있네요. 칭찬과 아쉬움 칭찬을 받은 점은 화면 밖을 터치할 때 키보드가 내려가게 처리한 점이었습니다. 이에 대해서는 자세히 포스팅을 했기에 지난 포스팅으로 대신하겠습니다. 2021.12...

iOS 프로젝트 2021.12.11

[iOS/부스트 코스] WeatherToday(1) - 사전 탐구

안녕하세요. 개발하는 정주입니다. 오늘은 WeatherToday 사전 검수에 대해 포스팅하려고 합니다. 목차 프로젝트 개요 이번 프로젝트는 JSON 데이터, 내비게이션 컨트롤러, 테이블 뷰를 중점으로 진행됩니다. JSON 데이터를 활용하여 날씨 정보를 보여주고 내비게이션 컨트롤러, 테이블 뷰를 활용합니다. 화면 1(세계 국가 리스트) 내비게이션 타이틀은 "세계 날씨"이다. 테이블 뷰 셀 왼쪽에는 국기 이미지를 보여주며, 국기 이미지 오른쪽에는 국가 이름을 보여준다. 테이블 뷰 셀의 액세서리 뷰를 통해 다음 화면으로 이동 가능함을 표시한다. 테이블 뷰 셀을 누르면 화면 2로 이동하며 데이터도 함께 전달된다. 화면 2(도시 목록) 내비게이션 아이템의 타이틀은 이전 화면에서 선택된 국가 이름이 설정된다. 내비..

iOS 프로젝트 2021.12.08

[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(4) - 코드 리뷰 코멘트 적용

안녕하세요. 개발하는 정주입니다. 오늘은 Sign Up 코드 리뷰를 받은 것에 대해 포스팅하려고 합니다. 결과는 오토 레이아웃에서 한 곳 실수를 해서 Fail을 받았습니다. 기준이 엄격하긴 한 듯 하나 이해 못 하는 이유는 아니었기에 수정하여 추가 결제, 재제출하였습니다. 이에 대해 자세히 알아보겠습니다. 목차 Fail을 받은 이유 Fail이 난 가장 큰 이유는 SafeArea를 고려하지 않은 오토 레이아웃 적용이었습니다. 모든 곳에선 아니고 한 부분이 그랬네요. 세로 모드일 때는 SuperView와 SafeArea의 좌우 영역이 같기 때문에 상관없지만 가로로 회전시킬 경우 차이가 나기 때문에 화면 3의 Birth Label의 오른쪽이 잘리는 문제가 생겼습니다. 따라서 스토리보드에서 오토 레이아웃을 다시..

iOS 프로젝트 2021.12.07

[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(3-2) - 기능 구현하기(2)

[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(3-2) - 기능 구현하기(2) 안녕하세요. 개발하는 정주입니다. 오늘은 네이버 부스트 코스 프로젝트 B-Sign Up의 화면 구성하기를 포스팅하려고 합니다. 기능 구현은 로그인 화면, 회원 가입(기본 정보) 화면을 1편, 회원 가입(부가 정보) 화면을 2편으로 나눴습니다. 목차 회원 가입(부가 정보) 회원 가입(부가 정보) 화면에서는 Date Picker 기능과 싱글톤 공유 객체의 적용이 핵심이었던 것 같습니다. Date Picker부터 보겠습니다. Date Picker 공식 문서부터 보도록 하겠습니다. https://developer.apple.com/documentation/uikit/uidatepicker/ Apple Developer ..

iOS 프로젝트 2021.12.06

[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(3-1) - 기능 구현하기(1)

[iOS/부스트 코스] iOS 앱 프로그래밍: Sign Up(3) - 기능 구현하기 안녕하세요. 개발하는 정주입니다. 오늘은 네이버 부스트 코스 프로젝트 B-Sign Up의 화면 구성하기를 포스팅하려고 합니다. 기능 구현은 로그인 화면, 회원 가입(기본 정보) 화면을 1편, 회원 가입(부가 정보) 화면을 2편으로 나눴습니다. 목차 공통 텍스트 필드를 편집 중일 때 화면 빈 공간을 터치하면 키보드가 내려가고 편집이 종료되는 기능은 모든 화면에 적용되어야 합니다. 해당 기능 구현 및 분석은 따로 포스팅을 진행하였으니 확인해주시면 감사하겠습니다! 2021.12.03 - [iOS/iOS 개발] - [iOS/Swift 5] iOS 개발 - 화면 터치 시 키보드 내리는 방법 / touchesBegan() / end..

iOS 프로젝트 2021.12.05
반응형