iOS 79

[iOS/Swift] 폰트(Font) 추가하는 방법

안녕하세요. 개발하는 정주입니다. 오늘은 Xcode에서 폰트를 추가하는 방법에 대해 포스팅하려고 합니다. 폰트 파일은 각자 준비해야 합니다! 목차 폰트 파일 복사하기 폰트를 적용하기 위해서는 Xcode에 폰트 파일을 복사해야 합니다. 폴더 만들기 프로젝트에 폰트 파일을 넣을 폴더 하나를 생성합니다. 폰트 파일 복사하기 폰트 파일을 드래그 & 드롭하면 위와 같은 팝업이 나옵니다. 여기에서 Add to targets에 폰트를 추가할 프로젝트를 꼭 선택해야 합니다. Finish를 누르면 폰트 파일이 정상적으로 복사된 것을 볼 수 있습니다. 폰트 등록하기 폰트 파일을 추가했으면 info.plist에 폰트를 등록해야 합니다. info.plist 파일에 "Fonts provided by application" 속성..

iOS/개념 & 개발 2022.01.09

[iOS/Swift] 런치 스크린 (Launch Screen) / 스플래시 화면

[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. 앱이 시작할 때 즉시 나타나고 앱의 ..

iOS/개념 & 개발 2022.01.02

[iOS/Swift] IBOutlet에서 옵셔널 강제 언래핑을 하는 이유

안녕하세요. 개발하는 정주입니다. 오늘은 IBOutlet에서는 강제 언래핑을 하는 이유에 대해 포스팅하려고 합니다. 목차 IBOutlet는 강제 언래핑? 스토리보드로 iOS를 개발할 때면 IBOutlet을 사용하게 됩니다. 그럴 때마다 드는 의문이 있었습니다. Swift에서는 옵셔널을 쓸 때 강제 언래핑은 삼가라고 합니다. 옵셔널 타입이 nil일 때 참조를 하게 되면 런타임 에러가 발생하기 때문입니다. 그런데 IBOutlet의 예제들, 심지어는 Xcode의 자동 완성조차 왜 강제 언래핑을 할까?라는 의문이 들었습니다. IBOutlet이란? 고전 공식 문서를 살펴보면 Outlet을 아래처럼 설명하고 있습니다. An outlet is a property that is annotated with the sym..

iOS/개념 & 개발 2021.12.31

[Xcode] Snippet 등록하기 - 나만의 단축어 등록하기

안녕하세요. 개발하는 정주입니다. 오늘은 Snippet을 등록하는 방법에 대해 포스팅하려고 합니다. 이제 시작합니다. 목차 Snippet 이란? Snippet이란 단어는 생소할 수 있지만 사실은 무척이나 익숙한 기능입니다. 바로 코드 자동완성 단축어이죠. 가장 대표적인 예시로는 func가 있습니다. func를 입력하면 Xcode에서 자동완성 목록이 나옵니다. 이 중 하나를 자동완성이 되는 것은 매우 익숙하실 것입니다. 이런 자동완성 키워드를 Snippet이라고 합니다. 이번 포스팅에서는 이 자동완성 키워드를 직접 만들어보겠습니다. Snippet 만들기 Snippet을 만들기 위한 창은 다양한 경로로 진입할 수 있습니다. 첫 번째는 Swift 코드 구역에서 마우스 우클릭을 해서 Create Code Sni..

iOS/Xcode 2021.12.26

[iOS/Swift] 선택한 TableViewCell의 IndexPath 구하기

[iOS/Swift] 선택한 TableViewCell의 IndexPath 구하기 안녕하세요. 개발하는 정주입니다. 오늘은 선택한 TableViewCell의 IndexPath 구하는 방법에 대해 포스팅하려고 합니다. 바로 시작합니다. 구현 상황 스토리보드에서 segue를 이용해 화면 이동을 했습니다. TableViewCell을 누르면 다음 화면으로 데이터를 넘기며 넘어가는 로직입니다. 따라서 cell을 눌렀을 때 누른 cell의 indexPath를 구해야 했습니다. indexPathForSelectedRow https://developer.apple.com/documentation/uikit/uitableview/1615000-indexpathforselectedrow Apple Developer Docu..

iOS/개념 & 개발 2021.12.13

[iOS/Swift] Assets에서 JSON 파일 읽어오기

[iOS/Swift] Assets에서 JSON 파일 읽어오기 안녕하세요. 개발하는 정주입니다. 오늘은 Assets에서 JSON 파일을 읽어오는 방법에 대해 포스팅하려고 합니다. JSON을 파일로 지정해서 Asset에 넣고 사용할 때 유용한 방법입니다. NSDataAsset 프로젝트에 JSON 파일을 Asset에 등록하여 사용하기 위해서는 Data Set으로 생성, 삽입해야 합니다. Data Set은 Finder에서 확장자를 확인해보면 dataset 확장자로 나옵니다. 이렇게 Data Set을 코드에서 가져와 사용하고 싶을 때는 NSDataAsset을 쓰면 됩니다. Assets에서 JSON 파일 읽기 위의 내용을 토대로 JSON 파일을 읽어보겠습니다. guard let asset = NSDataAsset...

iOS/개념 & 개발 2021.12.10

[iOS/Swift] UIImagePickerController에서 PHPickerViewController로 변경된 이유

안녕하세요. 개발하는 정주입니다. 오늘은 UIImagePickerContoller에서 PHPickerViewController로 변경된 이유에 대해 포스팅하려고 합니다. 현재 제 실력으로 소화한 내용만 작성하였습니다. 시간이 흐른 뒤 실력이 늘면 내용이 업데이트될 수도 있습니다. 틀린 점이 있다면 댓글로 알려주세요. 즉시 수정하겠습니다. UIImagePickerContoller UIImagePickerContoller는 기존 iOS에서 사용되는 이미지, 영상을 선택, 편집뿐만 아니라 카메라까지 사용할 수 있는 유용한 클래스였습니다. 공식 문서에선 "A view controller that manages the system interfaces for taking pictures, recording movi..

iOS/개념 & 개발 2021.12.04

[iOS/Swift] 화면 터치 시 키보드 내리는 방법 / touchesBegan() / endEditing() / first responder

[iOS/Swift] 화면 터치 시 키보드 내리는 방법 / touchesBegan() / endEditing() / first responder 안녕하세요. 개발하는 정주입니다. 오늘은 화면 터치 시 키보드를 내리는 방법에 대해 포스팅하려고 합니다. 해당 포스팅에서는 화면의 빈 공간을 눌렀을 때 키보드가 내리는 방법에 대해 기술합니다. View를 눌렀을 때 등의 응용은 스스로 생각해보세요! 조금만 응용하면 가능합니다. 바로 시작합니다. 코드 override func touchesBegan(_ touches: Set, with event: UIEvent?) { self.view.endEditing(true) } 코드 자체는 상당히 짧습니다. 하지만 모르는 것 투성이었습니다. 첫 번째로 touchesBega..

iOS/개념 & 개발 2021.12.03

[iOS/부스트 코스] Cocoa Touch, UIKit, Foundation 정리

[iOS/부스트 코스] Cocoa Touch, UIKit, Foundation 정리 안녕하세요. 개발하는 정주입니다. 오늘은 iOS 앱 프로그래밍 - Cocoa Touch, UIKit, Foundation에 대해 포스팅하려고 합니다. Cocoa Touch Layer 코코아 터치 계층은 iOS 앱 개발에 주 축을 이루는 개발 환경으로, 앱의 기능 구현에 필요한 다양한 프레임워크를 포함하는 최상위 프레임워크 계층입니다. Cocoa라는 단어는 Objective-C 런타임을 기반으로(동적 작동) 하고, NSObject를 상속받는 모든 클래스나 객체를 가리킬 때 사용합니다. Cocoa Touch는 핵심 프레임워크인 UIKit과 Foundation을 포함합니다. UIKit UIKit은 iOS 앱의 사용자 인터페이스..

iOS/개념 & 개발 2021.11.24

[iOS/Swift] 에셋(Asset) 추가하는 방법 / 이미지 넣기

[iOS/Swift] 에셋(Asset) 추가하는 방법 / 이미지 넣기 안녕하세요. 개발하는 정주입니다. 오늘은 에셋(Asset)에 대해 포스팅하려고 합니다. 그럴듯한 앱을 만들기 위해서는 이미지 소스나 효과음 같은 음악 소스를 넣어주면 좋습니다. 그러기 위해서는 에셋에 대해 반드시 알아야 하는데요. 바로 시작합니다. 에셋 카탈로그 Xcode에서 프로젝트를 생성하면 Assets.xcassets 폴더가 자동으로 만들어집니다. 이 폴더를 에셋 카탈로그라고 부르며 앱에서 사용될 다양한 에셋을 관리해주는 역할입니다. 에셋 카탈로그는 에셋과 디바이스 속성(디바이스 특징, 사이즈, 주문형 리소스, 특정 타입의 정보 등)에 대한 파일의 맵핑을 통해서 앱 리소스에 쉽게 접근할 수 있도록 도와줍니다. https://hel..

iOS/개념 & 개발 2021.11.18
반응형