Danny의 iOS 컨닝페이퍼
반응형
article thumbnail
[iOS/Swift] 델리게이트 패턴 (Delegate)
UIKit/Swift 2022. 12. 23. 17:40

Delegate Delegate 단어의 뜻 사전적 의미로 위임하다, 대리자라는 뜻을 갖고 있습니다. 객체 지향 프로그래밍에서 쉽게 말해서 델리게이트 패턴은 하나의 객체가 모든 일을 처리하는 것이 아니라 처리해야 할 일 중 일부를 다른 객체에게 위임한다는 거죠. 즉, 객체와 객체 간 쌍방향 커뮤니케이션의 방법입니다. Delegate 패턴은 데이터 전달 혹은 작업을 하는 데 처리하는데 있어 작업이 많아 원래 일을 처리해야 할 녀석이 아닌 다른 컨트롤러에게 대신 수행하도록 시키는 것이죠! 장점 프로토콜 사용으로 뛰어난 재사용성. 프로토콜에 필요한 메소드들이 명확하게 명시되며 정보 전달도 가능. 객체 지향 프로그래밍을 따름. (처리할 일의 일부를 다른 객체에게 위임함) 로직의 흐름을 따라가기 쉬움. 단점 많은 ..

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

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

article thumbnail
[iOS/Swift] 화면 이동 (feat. 데이터 전달)
UIKit/Cheat Sheet 2022. 12. 22. 23:28

코드로 작성 시 컴파일 시 메모리에 바로 올라갑니다. —> 다음으로 스토리보드의 메모리 생성 —> 그다음 서로 연결시킨 후 viewDidLoad 호출. 화면이동 및 데이터 전달 방법 4가지 화면이동 방법과 5가지 데이터 전달방법을 소개하겠습니다. 화면이동 1. 코드로 직접 이동 2. 스토리보드로 뷰 컨트롤러만 만들고 화면이동 3. 스토리보드의 간접세그로 연결 후 화면이동 4. 스토리보드의 직접세그로 연결 후 화면이동 데이터 전달방법 1. 직접 프로퍼티로 접근하여 전달 2. 세그를 통한 데이터 전달 3. 클로저를 통해 전달 4. 노티피케이션을 통한 전달 5. 델리게이트 패턴을 통한 전달 데이터 전달과 화면이동은 동시에 일어나니 서로 묶어서 설명드리겠습니다. 시작 오늘 해볼 것은 버튼을 누르면 텍스트필드의 ..

article thumbnail
[iOS/Swift] txt파일 읽기
UIKit/Cheat Sheet 2022. 12. 22. 22:14

Text파일 읽는 방법 정말 간단해서, 코드만 적어보겠습니다. 1. 먼저, 텍스트 파일을 XCode에 추가해 줍니다. 2. Text파일 읽는 코드 private func readTextFile() -> String { // 파일을 담을 변수 생성 var result = "" // 텍스트 파일 지정 (파일 이름을 갖고 실행 시켜줍니다) guard let pahts = Bundle.main.path(forResource: "tutorialText.txt", ofType: nil) else { return "" } do { result = try String(contentsOfFile: pahts, encoding: .utf8) return result } catch { return "Error: file r..

article thumbnail
[iOS/Swift] CocoaPod 사용법
Xcode/Library 2022. 12. 21. 20:49

순서 1. 터미널에서 파일에 접근 2. pod init (pod 생성) 3. pod install (pod 설치) 4. install 후에 생성되는 하얀색 Xcode 파일로 들어가서 작업 5. 들어가보면 Pods 안에 루비모양이 생겼을 것이다. 루비안에서 사용하고 싶은 pod 작성 6. 다시 pod install 각각의 라이브러들의 메뉴얼 보면서 코딩하기! 버전 호환 설정법 // 콤마(,) 뒤에 '~> 원하는 버전' Pod 'Alamofire', '~> 4.4' // 4.4 버전 이상

article thumbnail
[iOS/Swift] ARC (Automatic Reference Counting)
Xcode 2022. 12. 21. 19:50

Swift에서는 자동으로 힙 영역의 메모리 관리해주는 ARC가 있습니다. ARC는 클래스 인스턴스가 더 이상 필요하지 않을 때 메모리를 자동으로 해제한다 ARC의 메모리 관리 객체(힙 영역)의 참조 횟수를 계산하여 RC가 0이 되면 자동으로 메모리를 해제합니다. 💡 RC: Reference Count == 이 객체를 참조하고 있는 숫자 참조 카운트 세는 법 Count Up +1 Count Down -1 강한 참조, 약한 참조, 비참조 강한 참조(Strong) default(기본) 값이 기본으로 강한 참조입니다. 순환 참조(Strong Reference Cycle): 영구적으로 메모리가 해제되지 않을 수 있어요. 힙 영역에서 서로가 서로를 참조할 경우 약한 참조(Weak) 오직 변수(var)에만 선언 가능..

article thumbnail
[iOS/Swift] 프로젝트 이름 변경
Xcode 2022. 12. 21. 18:39

1. 프로젝트 이름 변경 (폴더명도 같이 변경하기) 2. Rename 클릭 3. Manage Schemes 클릭 4. 이름 변경 (enter 필수) 5. plist 이름 및 번들 이름 변경 6. 만약 Capability로 (Entitlements) 설정도 해줬을 경우 파일은 삭제한 뒤 빈칸으로 만들어 준다. (자동 업데이트 됨)

article thumbnail
[iOS/Swift] UITextField 설정
UIKit/Swift 2022. 12. 20. 20:36

텍스트 필드 여러 설정들 UI 관련 textField.frame.size.height = 22 // 프레임 높이 textField.borderStyle = .roundedRect // 테두리 스타일 textField.autocorrectionType = .no // 자동 수정 활성화 여부 textField.spellCheckingType = .no // 맞춤법 검사 활성화 여부 textField.autocapitalizationType = .none // 자동 대문자 활성화 여부 textField.placeholder = "이메일 입력" // 플레이스 홀더 textField.clearButtonMode = .always // 입력내용 한번에 지우는 x버튼(오른쪽) textField.clearsOnBegi..

article thumbnail
[iOS/Swift] FireBase 사용법
Xcode/Library 2022. 12. 20. 03:39

Package Manager Link 라이브러리 Firebase 추가하는 방법 1. 앱 등록 - Bundel Identifier와 동일하게 Apple 번들 ID 설정을 합니다 2. plist 다운 후 xcode로 이동시켜 주세요. 3. FireBase 라이브러리 설치를 합니다. 4. 초기화 코드 추가 사용자 인증 인증으로 들어가 원하는 로그인 방식 선택 (사용 설정 체크) 신규 사용자 등록 & 기존 사용자 로그인 ⭐️ FireBase에는 비밀번호 규칙이 존재한다 (6자리 이상) 신규 가입 시 - Auth.auth().createUser 기존 사용자 로그인 시 - Auth.auth().signIn 사용 Authentication 문서 Apple 플랫폼에서 Firebase 인증 시작하기 Cloud Fires..

article thumbnail
[iOS/Swift] Realm 사용법
Xcode/Library 2022. 12. 20. 01:44

Package Manager https://github.com/realm/realm-swift.git 글을 엉망진창으로 써놔 추후에 다시 깔끔히 정리해 올릴 예정입니다. 😓 간단 사용법 맛보기 1. AppDelegate에서 realm 생성 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { do { let realm = try Realm() } catch { print("Error initialising new realm \(error)") } return true } 2. 데이터 모델 제작 import ..

article thumbnail
[iOS/Swift] 라이브러리 주소
Xcode/Library 2022. 12. 20. 01:31

텍스트필드 레이아웃 (키보드에 맞춰서 올라가게 하기) https://github.com/hackiftekhar/IQKeyboardManager Alamofire https://github.com/Alamofire/Alamofire Firebase https://firebase.google.com/?hl=ko https://github.com/firebase/firebase-ios-sdk Realm Realm Swift SnapKit https://github.com/SnapKit/SnapKit Swipe Cell https://github.com/SwipeCellKit/SwipeCellKit 카멜레온 그라디언트 컬러 https://github.com/wowansm/Chameleon Swifty JSON ..

반응형