iOS/swift 11

WeatherKit 사용하기

앱을 개발하며 날씨를 받아오는 기능이 필요해서 WeatherKit 을 사용해봤습니다. WeatherKit은 애플 개발자 계정이 있어야 사용가능합니다~ 제공 데이터 더 자세한 내용은 WWDC2022 와 데이터셋 을 확인 해주세요 1. Key 생성 인증서 페이지에서 key를 생성합니다. 2. AppID 생성 번들 아이디는 프로젝트의 번들아이디와 같아야 합니다. capabilities 와 appservices 에서 weatherKit 을 체크합니다. 3. Xcode 기본 설정 Capablility 를 클릭해서 weatherKit 을 추가합니다. 날씨 정보 받기 사용자의 위치를 받기위해 설정 합니다. class WeatherTestViewController: UIViewController { let weathe..

iOS/swift 2023.11.29

Swift) 제네릭 (Generics)활용 APICallRequest 함수 간소화

TMDB API 요청을 하다보니 요청 함수가 많아져서 방법을 찾아봤다. CallRequest API API요청 함수들을 보면 데이터를 받아와 Codable을 채택한 모델로 변환해서 반환 하고 있다. 요청 데이터 타입에 따라 함수가 계속 늘어난다. //영화크루 호출 func callRequestCredit(type: EndPoint, completionHandler: @escaping (MoviePersons) -> () ){ let url = type.requestURL let header: HTTPHeaders = [ "Authorization": APIKey.TMDBReadKey ] print(url) let parameters: Parameters = ["language": "ko"] AF.requ..

iOS/swift 2023.09.04

[Swift 공식문서 정리] - 클래스와 구조체 (Classes and Structures)

클래스와 구조체(Classes and Structures) 클래스와 구조체는 프로그램의 코드를 조직화 하기 위해 일반적으로 사용합니다. OOP를 위한 필요 요소이기도 합니다. Swift는 다른 프로그래밍 언어와 다르게 interface 파일과 implementation 파일을 분리해서 만들지 않아도 됩니다. 하나의 파일에 구조체나 클래스를 정의하면, Swift가 자동으로 알아서 해당 클래스와 구조체를 사용할 수 있는 인터페이스를 생성해줍니다. 클래스와 구조체의 비교( Comparing Classes and Structures) swift의 클래스와 구조체는 많은 공통점이 있습니다. 1. 변수나 상수를 사용하여 값을 저장하기 위한 프로퍼티를 정의 할 수 있다. 2. 함수를 사용하여 기능을 제공하기 위한 메..

iOS/swift 2022.02.20

[Swift 공식문서 정리] - 열거형 (Enumerations)

열거형(Enumerations) 열거형(Enumerations)은 연관성이 있는 값들을 모아놓은 것을 말합니다 .c와 Objectvie-C 가 Integer값들로 열거형을 구성한 것에 반해 Swift 에서는 case값이 Stirng, Character, Int, Float, Double과 같은 값일 수 있습니다. swift 에서의 열거형은 좀 더 융통성이 있어서 열거의 각 경우에 값을 꼭 제공할 필요는 없습니다. 열거형은 1급 클래스형( first-class types)이어서 계산된 프로퍼티를 제공하거나 초기화를 지정하거나, 초기 선언을 확장해 사용 할 수 있습니다. 열거형 문법(Enumerations Syntax) 열거형은 enum 키워드를 사용해 정의합니다. enum CompassPoint { cas..

iOS/swift 2022.02.05

[Swift 공식문서 정리] - 클로저 (Closures)

클로저(Closures) 코드에서 함수적인 것을 독립적으로 사용할 수 있는 코드 코드블럭으로 C와 Objective-C의 블럭(blocks)과 다른 언어의 람다(lambdas)와 비슷 하다. 클로저는 어떤 상수나 변수의 참조를 캡쳐(capture)해 저장할 수 있습니다. Swift는 이 캡쳐와 관련한 모든 메모리를 알아서 처리합니다. 캡쳐의 개념에 대해 익숙하지 않다고 걱정하지 않으셔도 됩니다. 값 캡쳐는 아래에서 자세히 설명해 두었습니다. 전역 함수(global functions)와 중첩 함수(nested function)은 실제 클로저의 특별한 경우다. 클로저는 다음 세 가지 형태 중 하나를 갖는다. 전역 함수 : 이름이 있고 어떤 값도 캡쳐하지 않는 클로저 중첩 함수 : 이름이 있고 관련한 함수로 ..

iOS/swift 2021.11.23

[Swift 공식문서 정리] - 함수 (Functions)

정의와 호출 ( Definning and Callinng Functions) 함수를 선언할 때는 가장 앞에 func 키워드를 붙히고 (persion: String) 파라미터와 형 그리고 -> String 형태로 반환형을 정의한다. func greet(person: String) -> String { let greeting = "Hello, " + person + "!" return greeting } // 함수호출 print(greet(person: "Anna")) // Prints "Hello, Anna!" print(greet(person: "Brian")) // Prints "Hello, Brian!" 함수 파라미터와 반환 값( Function Parameters and Return Values) ..

iOS/swift 2021.11.10

[Swift 공식문서 정리] - 제어문(Control Flow)

반복문 For - In for - in 문은 배열, 숫자, 문자열을 순서대로 순회 하기 위해 사용한다. let names = ["Anna", "Alex", "Brian", "Jack"] for name in names { print("Hello, \(name)!") } // Hello, Anna! // Hello, Alex! // Hello, Brian! // Hello, Jack! 사전(dictionary) 에서 반환된 키(key) - 값(value) 쌍으로 구성된 튜플을 순회하며 제어할 수도 있다. 사전(dictionary)에 담긴 콘텐츠는 정렬이 안되어 있다. 사전에 넣었던 순서대로 순회되지 않는다. let numberOfLegs = ["spider": 8, "ant": 6, "cat": 4] fo..

iOS/swift 2021.10.21

[Swift 공식문서 정리] - 콜렉션타입 (Collection Types)

콜렉션 타입 (Collection Types) Swift에서는 콜렉션 타입으로 Array, Set, Dictionary 세 가지를 지원합니다. Array 는 순서가 있는 값들의 집합이며, set은 순서가 없는 값들의 집합이다. Dictionary는 순서가없는 Key-Value 쌍의 집합이다. 컬렉션의 변경 컬렉션도 마찬가지로 let 으로 선언하면 변경할 수 없고, var 로 선언하면 변경 할 수있다. var 로 선언하면 생성 이후에 추가, 삭제 ,컬렉션 내부 아이템 변경이 가능하다는 뜻이다. 배열(Array) 배열은 같은 타입의 값들을 저장하며, 순서가 존재한다. 같은 값이라도 배열의 다른 위치에서 나타날 수 있다. 배열의 축약형 문법 배열 타입은 Array로 적을 수 있는데 축약형으로 [Element]..

iOS/swift 2021.10.21

[Swift 공식문서 정리] - 문자열과 문자( Strings and Characters)

문자열 리터럴 문자열은 큰 따옴표 (") 로 묶어 표현한다. let something = "Some string literal value" 여러줄 문자열 리터럴 여러줄의 문자열을 사용하고 싶은 경우 큰 따옴표 3개(""")로 묶어서 사용할 수 있다. let softWrappedQuotation = """ The White Rabbit put on his spectacles. "Where shall I begin, \ please your Majesty?" he asked. "Begin at the beginning," the King said gravely, "and go on \ till you come to the end; then stop." """ 문자열을 붙혀 쓰고 싶은 경우 백슬래쉬( \ )를..

iOS/swift 2021.10.21

[Swift 공식문서 정리] - 기본 연산자 (Basic Operators)

용어(Terminology) 연산자에는 단항(unary), 이항(binary), 삼항(ternary) 연산자가 있다. 단항연산자 : -a, !b, c! 와 같이 하나의 대상 앞뒤에 바로 붙여 사용 하는 연산자 이항 연산자 : 2+3 과 같이 두 대상 사이에 위치하는 연산자. 삼항 연산자 : 삼항 연산자의 종류는 a ? b : c 형태로 단 한가지만 존재한다. 할당 연산자 ( Assignment Operator) 값을 초기화 시키거나 변경한다. 아래와 같이 상수, 변수에 사용이 가능하다. let b = 10 var a = 5 a = b // a 값은 10 아래와 같이 튜플을 이용해 여러 값을 한번에 할당할 수 있다. let (x, y) = (1, 2) // x는1 y는 2 사칙 연산자( Arithmetic..

iOS/swift 2021.10.21