Danny의 iOS 컨닝페이퍼
반응형
article thumbnail
[iOS/Swift] plist의 데이터 가져오기 (Swift 5)
UIKit/Cheat Sheet 2023. 3. 29. 18:40

시작 이전에 이미 plist의 데이터를 갖고 오는 방법을 설명을 했었습니다. [iOS/Swift] 개발 환경에 따라 각각의 다른 plist의 저장된 API Key 값 받아오기 [iOS/Swift] plist의 값 얻는 방법 및 Github에서 중요한 정보 숨기는 방법(API Key, Bundle, gitignore) 그런데 불러오는 과정에서 NSDictionary(contentsOfFile: String)은 iOS 11 부터 더 이상 사용되지 않더라고요. 이런식으로 사용이 가능하네요. var parsePlist: NSDictionary { guard let plistUrl = Bundle.main.url(forResource: "SecureAPIKeys", withExtension: "plist") el..

article thumbnail
[iOS/Swift] Observable 원리 (Data Binding, Playground 간단 예제)
UIKit/Cheat Sheet 2023. 2. 25. 01:30

Observable 직접 만든 Observable이 어떤식으로 동작을 관찰하고 업데이트하는지 알고 싶어서 작성했습니다. class Observable { // 2. value가 변하면 didSet에 의해 변경된 value 값을 갖고 listener 동작을 실행합니다. var value: T? { didSet { self.listener?(value) } } init(_ value: T?) { self.value = value } // 동작을 담아두는 클로저입니다. (실행 X) private var listener: ((T?) -> Void)? // 1. 이 함수가 호출이 되면 아래와 같은 작업을 실행 func bind(_ listener: @escaping (T?) -> Void) { // complet..

article thumbnail
[iOS/Swift] 검색창(UISearchController)과 결과창(searchResultsController) 사이의 공간 없애기!
UIKit/Cheat Sheet 2023. 2. 22. 23:55

문제 이와같이 검색창과 결과 테이블 사이의 공간이 생기는 문제가 발생 해결법 UISearchController가 있는 컨트롤러에서 extendedLayoutIncludesOpaqueBars = true override func viewDidLoad() { super.viewDidLoad() let searchTableVC = SearchTableViewController() let searchController = UISearchController(searchResultsController: searchTableVC) self.navigationItem.searchController = searchController // ⭐️ 확장 레이아웃의 불투명 막대 사용 extendedLayoutIncludesOp..

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] 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] 상태창(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] UIKit에서 스토리보드 없이 코드로 작성 시 SwiftUI의 캔버스(미리보기, Preview)를 적용하는 방법
UIKit/Cheat Sheet 2023. 1. 10. 16:03

사용방법 Preview를 보고 싶은 곳에서 아래 코드를 사용합니다. makeUIViewController(context: Context) 내부에서 이름을 Preview를 보고 싶은 ViewController 이름으로 변경해 주시면 됩니다. #if DEBUG import SwiftUI struct Preview: UIViewControllerRepresentable { // 여기 ViewController를 변경해주세요 func makeUIViewController(context: Context) -> UIViewController { ViewController() } func updateUIViewController(_ uiView: UIViewController,context: Context) { //..

article thumbnail
[iOS/Swift] Custom delegate 패턴
UIKit/Cheat Sheet 2022. 12. 24. 00:17

Custom Delegate 오늘은 Custom delegate 생성 방법에 대하여 알아봅시다. 기본 Delegate 관한 내용은 [iOS/Swift] 델리게이트 패턴 (Delegate)를 참고해 주세요. 보통 Delegate 패턴은 두 컨트롤러 간의 데이터를 전달을 위한 쌍방향 커뮤니케이션 방법이다. 예를 들어 우리가 인터넷 쇼핑을 한다고 생각해 보자. 원하는 물건을 선택하고 수량 입력 후 장바구니 추가 버튼을 누르게 되면 누르는 즉시 장바구니에 물건이 업데이트된다. 개발자의 입장에서 보자면 사용자의 입력을 받아 추가 버튼을 누르는 순간 상품 컨트롤러에서 얻은 정보를 장바구니 컨트롤러로 전달시켜 작업을 하게 되는 거죠. 상품 컨트롤러가 장바구니 컨트롤러에게 일을 시킨다! 상품 컨트롤러에서 Delegat..

article thumbnail
[iOS/Swift] 날짜 형식변환 (DateFormatter)
UIKit/Cheat Sheet 2022. 12. 23. 00:04

날짜 타입 변환 String -> Date Date -> String unix 시간 변환 ISO8601DateFormatter 참고(날짜 형식) 달력 아이콘 제작자: Freepik - Flaticon

반응형