[iOS/Swift] 폰트(Font) 추가하는 방법
·
iOS/개념 & 개발
안녕하세요. 개발하는 정주입니다. 오늘은 Xcode에서 폰트를 추가하는 방법에 대해 포스팅하려고 합니다. 폰트 파일은 각자 준비해야 합니다! 목차 폰트 파일 복사하기 폰트를 적용하기 위해서는 Xcode에 폰트 파일을 복사해야 합니다. 폴더 만들기 프로젝트에 폰트 파일을 넣을 폴더 하나를 생성합니다. 폰트 파일 복사하기 폰트 파일을 드래그 & 드롭하면 위와 같은 팝업이 나옵니다. 여기에서 Add to targets에 폰트를 추가할 프로젝트를 꼭 선택해야 합니다. Finish를 누르면 폰트 파일이 정상적으로 복사된 것을 볼 수 있습니다. 폰트 등록하기 폰트 파일을 추가했으면 info.plist에 폰트를 등록해야 합니다. info.plist 파일에 "Fonts provided by application" 속성..
[iOS/Swift] 런치 스크린 (Launch Screen) / 스플래시 화면
·
iOS/개념 & 개발
[iOS/Swift] 런치 스크린(Launch Screen) / 스플래시(Splash) 화면 안녕하세요. 개발하는 정주입니다. 오늘은 런치 스크린에 대해 포스팅하려고 합니다. 목차 런치 스크린(Launch Screen)이란? 공식 문서에서 런치 스크린(Launch Screen)는 아래처럼 정의되어 있습니다. Every iOS app must provide a launch screen, a screen that displays while your app launches. The launch screen appears instantly when your app starts up and is quickly replaced with the app’s first screen. 앱이 시작할 때 즉시 나타나고 앱의 ..
[Swift] 공식 문서 - 열거형 (Enumerations)
·
Swift/Swift 가이드
안녕하세요. 개발하는 정주입니다. 오늘은 열거형 (Enumerations)를 정리해보겠습니다. * 완벽한 번역이 아닌 내용을 한 줄 한 줄 읽는 것에 의의를 두었습니다. * 파파고의 힘을 빌려 번역했으며 잘못된 번역이 있다면 댓글로 알려주세요. 새로 배운 점 열거형 타입은 ‘복수형 (plural) 보단 단수형 (singular)’ 이름을 부여해야 명확하다는 점 CaseIterable를 채택함으로서 모든 케이스 집합체를 가질 수 있다는 점 Associated Values에 대한 내용 case 이름 앞에 var 나 let annotation을 하나만 적어도 된다는 점 원시 값으로 문자열을 사용할 땐 그 case 이름에 있는 문장이 각 case 의 암시적인 값이 된다는 점 열거형 initializer는 nil..
[Swift] 공식 문서 - 클로저 (Closures)
·
Swift/Swift 가이드
안녕하세요. 개발하는 정주입니다. 오늘은 클로저 (Closures)를 정리해보겠습니다. * 공식 문서 내용을 한 줄 한 줄 읽는 것에 의의를 두었습니다. * 파파고의 힘을 빌려 번역했으며 잘못된 번역이 있다면 댓글로 알려주세요. 새로 배운 점 전역 함수와 중첩 함수가 클로저라는 사실 sorted 메서드가 클로저를 기반으로 동작된다는 사실 클로저의 인자, 반환값 생략할 수 있는 이유가 Swift의 타입 유추라는 점 => 생략 가능하다는 것은 알고 있었지만 이번 포스팅을 통해 이유를 알게 되었다. ">" 연산자 메서드에 문자열별 구현이 되어 있어 sorted()에 클로저 대신 쓸 수 있다는 점 클로저는 참조 타입이라는 점 값이 캡처가 되면 클로저와 인스턴스 사이에 강한 참조 사이클이 생성된다는 점 캡처로 생..
[Git] .gitignore 적용하기
·
Git
안녕하세요. 개발하는 정주입니다. 오늘은 gitignore을 적용하는 방법에 대해 포스팅하려고 합니다. 목차 .gitignore이란? .gitignore파일이란 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일입니다. 맥의 .DS_Store, Xcode의 .xcodeproj처럼 관리가 필요가 없는 파일을 .gitignore 파일에 지정하여 관리하지 않을 수 있습니다. .gitignore 작성하기 git 폴더의 최상위 경로에 .gitignore 파일을 생성하고 파일명을 기재하면 됩니다. 저는 간단하게 .DS_Store과 폴더 icon 파일인 Icon을 등록했습니다. 참고로 .gitignore 파일은 기본 ls 명령어로는 볼 수 없고 a 옵션을 줘야 볼 수 있습니다. 이미 올린 파일 처리하기 이미 gi..
[Swift] 공식 문서 - 함수 (Functions)
·
Swift/Swift 가이드
안녕하세요. 개발하는 정주입니다. 오늘은 함수 (Functions)를 정리해보겠습니다. * 공식 문서 내용을 한 줄 한 줄 읽는 것에 의의를 두었습니다. * 파파고의 힘을 빌려 번역했으며 잘못된 번역이 있다면 댓글로 알려주세요. 새로 배운 점 다른 함수 내에 함수를 정의할 수 있다는 점 Void가 빈 튜플이라는 점 반환되는 튜플의 옵셔널을 튜플 전체를 옵셔널로 감싸서 표현한다는 점 반환값이 있는 한 줄로 된 함수는 return을 생략해도 된다는 점 가변 파라미터가 배열(array)로 사용 가능하다는 점 in-out 파라미터는 기본값 설정이 안 된다는 점 목차 서론 함수 (Functions) 는 특정 작업을 수행하는 코드 모음 입니다. 무슨 동작을 하는지 함수에 특정 이름을 줄 수 있으며 이름은 필요할 때..
[Swift] 공식 문서 - 제어 흐름 (Control Flow)
·
Swift/Swift 가이드
안녕하세요. 개발하는 정주입니다. 오늘은 제어 흐름 (Control Flow)을 정리해보겠습니다. * 공식 문서 내용을 한 줄 한 줄 읽는 것에 의의를 두었습니다. * 파파고의 힘을 빌려 번역했으며 잘못된 번역이 있다면 댓글로 알려주세요. 새로 배운 점 Dictionary로 for-in 루프를 쓸 때 순서가 보장이 안 된다는 점 for-in에서 임시 값이 상수로 선언된다는 점 switch에서 실행된 부분을 선택하는 절차를 switching이라고 한다는 점 switch에서 튜플로 case를 넣을 수 있다는 점 switch에서 값 바인딩이 가능하다는 점 switch에서 값 바인딩을 포함한 혼합 케이스에 대한 내용 fallthrough 키워드는 switch 케이스 실행을 위한 케이스 조건을 확인하지 않는다는 ..
[Xcode] Snippet 등록하기 - 나만의 단축어 등록하기
·
iOS/Xcode
안녕하세요. 개발하는 정주입니다. 오늘은 Snippet을 등록하는 방법에 대해 포스팅하려고 합니다. 이제 시작합니다. 목차 Snippet 이란? Snippet이란 단어는 생소할 수 있지만 사실은 무척이나 익숙한 기능입니다. 바로 코드 자동완성 단축어이죠. 가장 대표적인 예시로는 func가 있습니다. func를 입력하면 Xcode에서 자동완성 목록이 나옵니다. 이 중 하나를 자동완성이 되는 것은 매우 익숙하실 것입니다. 이런 자동완성 키워드를 Snippet이라고 합니다. 이번 포스팅에서는 이 자동완성 키워드를 직접 만들어보겠습니다. Snippet 만들기 Snippet을 만들기 위한 창은 다양한 경로로 진입할 수 있습니다. 첫 번째는 Swift 코드 구역에서 마우스 우클릭을 해서 Create Code Sni..
[iOS/부스트 코스] Weather Today(4) - 코드 리뷰
·
iOS 프로젝트
안녕하세요. 개발하는 정주입니다. 오늘은 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/부스트 코스] Weather Today(3) - 기능 구현
·
iOS 프로젝트
안녕하세요. 개발하는 정주입니다. 오늘은 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 개발' 태그의 글 목록 (10 Page)