Swift 네트워킹 방법
Language/Swift 2022. 7. 11. 16:00

방법 1 (박스오피스 앱) func getData() { // 1. URL 만들기 guard let url = URL(string: movieURL) else { return } // 2. URLSession 만들기 let session = URLSession(configuration: .default) // 3. URLSession 인스턴스에게 task 주기 let task = session.dataTask(with: url) { (data, response, error) in if error != nil { print(error!) return } guard let JSONdata = data else { return } let decoder = JSONDecoder() do { let decoded..

Swift 날씨 앱 만들기 (2)
Language/Swift 날씨 앱 2022. 7. 5. 21:23

데이터 모델 Weather.swift // Weather.swift import Foundation struct WeatherResponse: Decodable { let weather: [Weather] let main: Main let name: String } struct Main: Decodable { let temp: Double let temp_min: Double let temp_max: Double } struct Weather: Decodable { let id: Int let main: String let description: String let icon: String } API 호출하고 리턴 받기 WeatherService.swift : 요청을 주고 결과 받기 // WeatherSe..

Swift 날씨 앱 만들기 (1)
Language/Swift 날씨 앱 2022. 7. 4. 16:46

API 날씨 OpenAPI 발급 주소 https://openweathermap.org/ Сurrent weather and forecast - OpenWeatherMap Access current weather data for any location on Earth including over 200,000 cities! The data is frequently updated based on the global and local weather models, satellites, radars and a vast network of weather stations. how to obtain APIs (subscriptions w openweathermap.org API 호출 (도시이름으로 호출) api.open..

Swift - 05
Language/Swift 2022. 2. 8. 01:48

연산자 띄어쓰기와 연산자 스위프트에서는 띄어쓰기도 중요한 문법이다. 연산자가 어디에 위치하느냐도 중요하지만, 연산자 앞과 뒤 중 어디에 공백이 있는지도 중요한 부분 ex) A != B와 A! = B는 전혀 다른 의미 스위프트는 서로 다른 자료형끼리의 연산을 엄격히 제한한다. 서로 다른 자료형끼리의 연산을 실행하려면 값을 해당 타입으로 변환한 후 연산해야 한다. 비교 연산자 ==, === A == B : A와 B가 같은 값인지 비교하여 불리언 값을 반환 A === B : A와 B가 참조(레퍼런스) 타입일 때 A와 B가 같은 인스턴스를 가리키는지 비교하연 불리언 값을 반환 스위프트의 유일한 참조타입인 클래스의 인스턴스에서만 참조 비교 연산자를 사용 가능하다. 스위프트의 기본 데이터 타입은 모두 구조체로 구현..

Swift - 04
Language/Swift 2022. 2. 1. 02:10

타입 별칭 사용자가 임의로 만든 데이터 타입이든 이미 존재하는 데이터 타입에 임의로 다른 이름을 부여할 수 있다. typealias MyInt = Int typealias MyDouble = Double let age: MyInt = 24 let percentage: MyDouble = 25.5 튜플 타입의 이름이 따로 지정되어 있지 않은, 프로그래머 마음대로 만드는 타입. 지정된 데이터의 묶음 // String, Int, Double 타입을 갖는 튜플 var person: (String, Int, Double) = ("SDY", 100, 55.5) // 인덱스를 통해서 값을 빼 올 수 있다. print("이름: \(person.0), 나이: \(person.1), 몸무게: \(person.2)") //..

Swift - 03
Language/Swift 2022. 1. 26. 02:56

데이터 타입 데이터의 종류 스위프트의 기본 데이터 타입이 모두 구조체를 기반으로 구현되어 있음 Int, UInt Int : +, - 부호를 포함한 정수 UInt : - 부호를 포함하지 않는 0을 포함한 양의 정수 진수에 따른 정수 표현 방법 2진수 : 접두어 0b를 사용하여 표현 8진수 : 접두어 0o를 사용하여 표현 16진수 : 접두어 0x를 사용하여 표현 임의의 수 random(in:) Int.random(in: -100...100) UInt.random(in: 1...30) Double.random(in: 1.5...4.3) Float.random(in: -0.5...1.5) String // 이니셜라이저를 사용하여 빈 문자열을 생성할 수 있음 var hello: String = String() /..

Swift - 02
Language/Swift 2022. 1. 11. 19:57

print() 함수 디버깅 콘솔에 간략한 정보를 출력 출력하려는 인스턴스의 description 프로퍼티에 해당하는 내용을 출력 dump() 함수 자세한 정보를 출력 출력하려는 인스턴스의 자세한 내부 콘텐츠까지 출력 변수, 상수 타입 추론 : 변수를 생성할 때 데이터 타입을 생략하면 컴파일러가 변숫값의 타입을 추론하여 타입을 지정 var name = "bcd" print(type(of:name)) //String var height = 166.6 print(type(of:height)) //Double [출처 : Swift 프로그래밍 야곰]

Swift - 01
Language/Swift 2022. 1. 11. 19:13

용어 커링 기법 : 여러 개의 매개변수를 갖는 함수를 매개변수 하나를 갖는 함수의 나열로 표현 func sum(first: Int) -> ((Int)->Int) { return {second in first + second} } sum(first: 10)(5) 인터프리터 언어 : 실행전에 기계어로의 컴파일 과정을 거치지 않으며, 소스코드가 해석기(인터프리터)에 의해 직접 해석되어 실행되도록 구현된 언어 REPL : 간단한 코드를 직접 입력하여 바로바로 결과를 볼 수 있는 환경과 편의를 제공해주는 도구 [출처 : Swift 프로그래밍 야곰]