일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 리펙토링
- collectionview
- Protocol
- 애니메이션
- ribs
- UITextView
- Refactoring
- uiscrollview
- 리팩토링
- MVVM
- map
- swiftUI
- clean architecture
- rxswift
- uitableview
- RxCocoa
- swift documentation
- SWIFT
- scrollview
- Observable
- combine
- Clean Code
- HIG
- tableView
- Human interface guide
- Xcode
- 스위프트
- UICollectionView
- ios
- 클린 코드
- Today
- Total
목록iOS 응용 (swift) (727)
김종권의 iOS 앱 개발 알아가기

info.plist에서 해당 부분 삭제 AppDelegate.swift에서 함수 두 가지 삭제 SceneDelegate.swift삭제 후 AppDelegate 수정 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) window?.rootViewController = ViewController() // 특정 ViewController window?.makeKeyAndVisible() return true } (정상 빌드 성공)

nib파일의 구성 인터페이스 빌더에서 정의한 요소들을 object grpah로 만든 파일 인터페이스 빌더에서 정의한 요소란? 색상, 폰트, ViewController등 인터페이스 빌더에서 구성된 파일: XML형태의 .xib지만, 컴파일 하면 .nib파일이 됨 저장되는 위치는 App Bundle iOS 앱의 파일 구조 iOS앱은 보안의 목적으로 자신이 속한 샌드반스안의 디렉토리에만 접근 가능 Bundle Contatiner: 파일 시스템 중 한 디렉토리 (실행 가능한 코드, 사진, 소리, nib파일 등의 자원) Data Container: 사용자를 위한 Data 기타 앱이름.app:이 디렉토리는 read-only권한만 부여되며 iCloud에 백업 x Documents/: 사진첩과 같은 앱의 사용자에게 보여..
NFD Mac OS에서 한글을 저장하는 방식 : NFD(Normalization Form Canonical Decomposition) "한글.txt"저장 -> "ㅎㅏㄴㄱㅡㄹ.txt"로 풀어서 유니코드로 저장 ex) 보통 mac에서 window로 파일을 전송할 때, window에서 파일을 열어보면 한글 자소가 분리되어 있는걸 발견 NFC Windows OS에서 한글을 저장하는 방식: NFC(Normalization Form Canonical Composition) "한글.txt"저장 -> 그대로 병합하여 유니코드로 저장 swift에서 UILabel에 문구를 넣을 때 NFD로 표현되는 경우 - NFC로 변환 let sample = "한글" lblTitle.text = sample.precomposedStri..
codable을 사용하여 json데이터를 가져오는 것 json자료형을 직접 파싱해서 사용하는 것은 코드상의 복잡함이 따름 -> 미리 struct형을 정해놓고 거기에 매핑되게끔하는 방법 case #1. 일반적인 사용방법 // json데이터 형태를 미리 정의 struct DataForm: Codable { var key_name1: String? var key_name2: String? } // json데이터 let sample = """ { "key_name1": "value1", "key_name2": "value2" } """.data(using: .utf8)! // 결과 let result = try! JSONDecoder().decode(DataForm.self, from: sample) print..

main run loop Main Run Loop : 사용자의 이벤트를 받아들이거나, response 하는 때 Update Cycle: Main Run Loop에서 response를 리턴한 경우 진입 (이 때 레이아웃을 재배치하거나 view를 그림) * iOS앱은 60fps이므로 update cycle의 주기도 1/60초 -> 뷰를 갱신하고 싶어도 이 갱신 주기를 기다려야함 layoutSubviews() 이 메소드는 위에서 레이아웃을 재배치할 때 사용되는 UIView의 메소드 (expensive하기 때문에 다른 메소드를 통해 간접적으로 호출) 1) setNeedsUpdate() : 다음 update cycle에 레이아웃을 갱신 2) layoutIfNeeded(): 즉시 레이아웃을 갱신하라 텍스트필드 클릭..
1. GCD - Grand Central Dispatch API == GCD * Dispatch : 출격, 배포 GCD란 아래와 같은 기능을 쉽게 접근하여 일을 처리하는 API Thread 갯수 Multi, Single 코어 갯수 멀티, 싱글 동기화 sync, async 2. DispatchQueue - 큐에 담긴 각 아이템은 스레드 풀에 의해 처리됨 1) main : Main Thread에서 처리되는 Serial queue (모든 UI작업은 Main Queue에서 수행되어야 함) global : 전체 시스템에 공유되는 concurrent queue custom : serial queue를 만들고 싶을 때 사용, global queue에서 실행 2) Serial 이전 작업이 끝나면 다음 작업이 순차적으로..

autolayout이란? [iOS - UI Custom] 11. Auto layout (programmatically) *storyboard적인 오토레이아웃 및 개념은 밑 링크 참고 https://ios-development.tistory.com/30?category=889410 [iOS - swift] 12. 오토 레이아웃(auto layout) 1. 오토 레이아웃 이란? - 어떤 디바이스에서라도.. ios-development.tistory.com * SnapKit이란? 짧은 코드로 autolayout을 표현할 수 있도록 도와주는 프레임워크 1. pod SnapKit 2. 사용 1) equalTo()사용 방법 view.topAnchor와 같이 방향을 정해주지 않고 view그대로 삽입 "make.top..