Danny의 iOS 컨닝페이퍼
반응형
article thumbnail
[iOS/Swift] plist의 값 얻는 방법 및 Github에서 중요한 정보 숨기는 방법(API Key, Bundle, gitignore)
UIKit/Cheat Sheet 2023. 2. 10. 06:24

extension으로 plist 불러오는 방법 이전글 [iOS/Swift] 개발 환경에 따라 각각의 다른 plist의 저장된 API Key 값 받아오기 에서도 자세히 다루기는 했지만 이번에는 간단하게 plist 값을 얻는 방법 및 gitignore까지 다뤄보겠습니다. 준비 작업 먼저 plist 파일을 추가해 주세요. 기본 plist 파일은 Dictionary 형식으로 되어있습니다. 배열도 가능 plist파일을 생성 후 원하는 이름으로 Key 값을 만들어주고 Value 값으로 사용할 API Key 값을 넣어 만들어 줍니다. 일단 이렇게 하면 준비 작업은 끝났습니다. 코드 하드코딩을 할 것이기 때문에 ⭐️ 위에서 작업한 plist파일 이름과 키 값을 정확하게 입력해 주셔야 합니다. ⭐️ extension B..

article thumbnail
[iOS/Swift] 개발 환경에 따라 각각의 다른 plist의 저장된 API Key 값 받아오기
UIKit/Cheat Sheet 2023. 2. 10. 05:01

개발 환경에 따라 서로 다른 plist 값 읽는 방법 plist 생성 Debug , Production(Release) 모드에서 서로 다른 값을 받기 위해 plist 2개를 준비합니다. 코드 /// plist를 읽을 수 있게 초기화 시킴 class BaseENV { let dict: NSDictionary init(resourceName: String) { guard let filePath = Bundle.main.path(forResource: resourceName, ofType: "plist"), let plist = NSDictionary(contentsOfFile: filePath) else { fatalError("Couldn't find file '\(resourceName).plist'."..

article thumbnail
[iOS/Swift] Quick Help 생성 방법 (문서화, 마크업, 주석)
Etc. 2023. 2. 9. 23:12

Quick Help (설명서) Quick Help는 코드 기능 설명서입니다. 간단한 예시로 만약 오래전 만든 코드를 지금 다시 보게 된다면 무슨 기능을 했는지 헷갈리거나 협업 시 나는 알고 있지만 다른 팀원들이 코드의 기능을 헷갈려할 때 이와 같은 상황에서 손쉽게 코드의 기능을 알 수 있는 일종의 설명서입니다. 일단 퀵 헬프가 뭔지 보고 가시죠. 아래 그림과 같이 코드에 대한 정보를 나타내는 창입니다. (Summary, Discussion, Parameters...) 이것들을 작성하는 방법에 대해 알아봅시다. Quick Help 단축키 사용법 일단 기본적으로 Xcode 내부에서 자동으로 퀵 헬프를 만들어주는 단축키가 존재합니다. 만들고 싶은 코드를 클릭한 뒤 command + option + / 를 사용..

article thumbnail
[iOS/Swift] UIColor (RGB대신 HEX Color 이용하기)
UIKit/Cheat Sheet 2023. 2. 9. 17:11

UIColor 주로 UIColor를 생성 시 컬러를 지정하는 방법은 Red, Greed, Blue로 0~255까지의 숫자로 표현하는 RGB컬러를 사용합니다. UIColor(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat) 보통 인터넷에서 색상을 찾을 때 RGB컬러대신 Hex Code Color로 주로 표기가 돼있는데요. 여기서 Hex Color Code란? RGB 방식의 색상 코드 표기법입니다. # 뒤에 붙는 여섯 자리 혹은 세 자리 숫자로 색상을 표기하는 방식이죠. 6자리인 경우 두 자리씩 끊어서 각각 Red, Green, Blue를 나타낸다고 하네요. 자세한 건 패스... UIColor Extenstion 기존 UIColor 사용 시, 마음에..

article thumbnail
[iOS/Swift] 프로토콜 CaseIterable (열거형에서 모든 case를 배열로 다루기)
Xcode/Swift 문법 2023. 2. 9. 00:38

프로토콜 CaseIterable 공식문서 는 이쪽에 있습니다. 설명이 친절하니 한 번은 들어가서 보세요. 일단 결론은 열거형의 각각 모든 case들을 한데 묶어서 컬렉션인 배열로 만들어 줍니다. 각가의 요소를 배열로 바꾸어 준다니 유연하게 사용이 가능해질 거 같네요! 내부 구조를 한번 봅시다. public protocol CaseIterable { /// 타입의 모든 값을 콜렉션(배열로) 나타내는 타입입니다. associatedtype AllCases : Collection = [Self] where Self == Self.AllCases.Element /// 콜렉션(배열)의 모든 값을 나타냅니다. static var allCases: Self.AllCases { get } } 사용하는 곳을 열거형이라 ..

article thumbnail
[iOS/Swift] 이니셜라이저(init)와 고차함수
Xcode/Swift 문법 2023. 2. 8. 06:05

이니셜라이저 예제 아직 다루지 않은 이니셜라이저 관련 내용인데 몰랐던 내용을 예제와 함께 간단히 써볼게요. init 사용 및 고차함수 관련 내용입니다. 신기방기합니다. 문법은 다음기회에... 정리해서 올릴게요 오늘부터 저는 커피 장사를 하고 있습니다. 일단 장사를 하기 앞서 커피 메뉴판을 만들어 줬어요. struct Menu { let coffee: String let size: String } 메뉴도 만들었으니 손님 이름과 함께 주문을 받아야겠죠? struct CoffeeOrder { let name: String let order: Menu } 그런데 갑자기 손님이 들이닥쳐서 많은 주문을 처리하기 힘들어서 한눈에 보기 위해 주문 리스트도 만들어 줬어요. struct CoffeeOrderList { l..

article thumbnail
[iOS/Swift] UINavigationBar 사용 방법
UIKit/Swift 2023. 2. 7. 16:35

이번글은 스토리보드 대신 코드로 작성할 때 내비게이션 바의 모양 및 기타 설정 관련한 일종의 Cheat Sheet을 써보겠습니다. 설명은 이전글 [iOS/Swift] UINavigationController 살펴보기 를 참고해 주세요. UINavigationController 생성 방법 UINavigationBar를 사용하기 위해선 일단 UINavigationController를 생성해야 됩니다. SceneDelegate에서 작성 func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { guard let windowScene = (scene ..

article thumbnail
[iOS/Swift] UINavigationController 살펴보기
UIKit/Swift 2023. 2. 6. 18:15

UINavigationController의 동작 방식 내비게이션 컨트롤러란 계층으로 구성된 스택 기반의 뷰 컨트롤러입니다. 아이폰 유저라면 이미 모두 한 번쯤은 이미 사용해 봤을 거예요. 그림을 보며 동작방식을 이해를 해봅시다. 처음 보이는 [Setting 컨트롤러]는 Root View 컨트롤러입니다. [Setting 컨트롤러]에서 General을 선택하면, 대리자를 통하여 재정의한 push 동작에 의해 새로운 [General 뷰 컨트롤러]를 생성하고 [Setting 뷰 컨트롤러] 위에다 쌓는 형식이죠. 스택을 어떻게 쌓는지 간단히 알아봅시다. (push or show) 내비게이션 스택은 순서가 필요하니 배열을 사용합니다. 배열 viewControllers내부에 뷰 컨트롤러들을 저장하죠. 내비게이션 스택..

article thumbnail
[iOS/Swift] 상태창(StatusBar) 색상 변경 방법 (시계, 배터리...색)
UIKit/Cheat Sheet 2023. 2. 5. 01:55

상태창(StatusBar) 색상 변경 방법 1. Project --> General --> Deployment Info 찾아가기 2. Status Bar Style을 원하는 색상으로 선택 Dark Content : 검은색으로 표시됨 Light Content : 흰색으로 표시됨 3. Info.plist 설정하기 View controller-based status bar appearance를 추가한 뒤, Value값을 No로 설정하기 코드로 변경하는 방법 View controller-based status bar appearance의 기본값은 YES를 갖고 있습니다. 그러므로 만약, Info.plist에서 생성을 해줬다면, 값을 YES로 변경하거나 제거해 주세요. ViewController에서 preferr..

article thumbnail
[iOS/Swift] 동시성(Concurrency) 프로그래밍
Xcode/Swift 문법 2023. 2. 4. 01:09

동시성(Concurrency) 프로그래밍 만약 하나의 쓰레드에서 여러 작업(Task)을 실행하게 된다면 속도 및 성능 저하와 같은 문제가 발생하게 될 거예요. 간단한 예시로 Swift는 화면을 그릴 때(화면을 업데이트할 때) 메인 쓰레드에서 작업을 하게 됩니다. 그러면 메인 쓰레드 쪽에 작업이 많이 쌓여 있다면 화면 업데이트하는데 문제가 생기겠죠?! 이것을 해결하기 위해 나온 게 동시성입니다. 다른 쓰레드로 뿌려줘서 메인 쓰레드의 일을 분산시켜 주는 거죠. 위의 그림과 같이 작업(Task)을 큐(Queue)로 보내주기만 하면 OS(운영체제)에서 자동으로 다른 쓰레드로 분산시켜 줍니다. 우리는 작업을 효율적으로 하기 위해선 어떤 큐(Queue)를 사용할지 고민만 하면 됩니다. 큐(Queue)의 종류 Dis..

반응형