Danny의 iOS 컨닝페이퍼
반응형
article thumbnail
[iOS/Swift] inout 파라미터
Xcode/Swift 문법 2022. 12. 27. 16:43

inout 파라미터 함수의 파라미터는 기본적으로 값타입입니다. 파라미터는 임시 상수(let)이기 때문에 변경 불가능 하죠. 그러므로 아래와 같이 전역변수를 함수 안에서 그냥 변경할 순 없습니다. var firstInt = 10 var secondInt = 20 func swap(_ a: Int, _ b: Int) { var temp = a a = b b = temp } swap(firstInt, secondInt) // error: Cannot assign to value: 'a' is a 'let' constant // error: Cannot assign to value: 'b' is a 'let' constant 만약 inout 파라미터를 사용한다면 inout 파라미터는 함수 내에서 변수를 직접 변..

article thumbnail
[iOS/Swift] 타입에일리어스(typealias)
Xcode/Swift 문법 2022. 12. 27. 00:24

Type Alias 사용자가 원하는 이름으로 타입 이름을 만들어 줄 수 있습니다. 즉, 타입의 별칭, 약칭입니다. 가독성 상승. 새로운 타입으로 변경이 아니라 기존 타입의 역할만 해줍니다. 표현식 // 이름에서 첫 글자는 대문자 사용 typealias (사용할 이름) = (설정할 타입) // ex typealias NetworkService = Result typealias Calculator = (Double, Double) -> Double 사용법 간단하게, ThreeStr이라는 이름으로 3개의 String을 타입을 갖고 있는 튜플을 만들어 봤습니다. typealias ThreeStr = (String, String, String) let box: ThreeStr = ("과자", "인형", "Mac"..

article thumbnail
[iOS/Swift] “ = “ 의미
Xcode/Swift 문법 2022. 12. 26. 23:16

의미 오른쪽에 있는 데이터 값을 왼쪽의 데이터 공간에 저장한다. (담는다) var a = 1 var b = a + 7 // 1이란 데이터를 a라는 공간에 저장한다.(담는다) // a + 7란 데이터를 b라는 공간에 저장한다.(담는다) 서로 같다는 뜻이 아닙니다. 같다는 '== , 같지 않다는 '!=' 를 사용해야 합니다.

article thumbnail
[iOS/Swift] WeatherKit 사용법
Xcode/Framework 2022. 12. 24. 02:36

Certificates, Identifiers & Profiles 세팅 1. 인증서 클릭 애플 디벨로퍼 홈페이지로 들어가서 인증서로 들어가기 2. key 만들기 처음으로 키를 생성해줘야 한다. 사용할 기능(WeatherKit)에 대해서 체크 Register 버튼 클릭 Download 받은 걸 안전한 장소에 보관(한 번만 다운로드 가능하다) Key ID와 Apple ID는 만약 Web Token 생성이 필요할 때 사용. 3. App ID 만들기 Identifiers 클릭 Continue -> Select Typle : App 클릭 Bundle ID와 Xcode의 Bundle Identifier랑 같아야 한다 Xcode에서 기본 설정 Capability 클릭 WeatherKit을 추가해주면 사용 준비 끝 날..

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] 델리게이트 패턴 (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 버전 이상

반응형