Swift59 [Swift] inout 파라미터 inout 파라미터 기본적으로 swift 함수 내에 들어오는 파라미터 값들은 let(상수) 값이므로 immutable하다. 하지만 파라미터 이름과 타입 사이에 inout 키워드를 넣으면 파라미터의 주소값을 넘겨받아서 mutable하게 해당 파라미터를 사용가능함. import UIKit func swap(a: inout Int, b: inout Int) { let temp = a a = b b = temp } var a = 1 var b = 2 print("before a: \(a), b: \(b)") swap(&a, &b) print("after a: \(a), b: \(b)") /* 결과 before a: 1, b: 2 after a: 2, b: 1 */ 2021. 5. 28. [Swift] 제네릭 (Generics) 스위프트 프로그래밍 국내도서 저자 : 야곰 출판 : 한빛미디어 2019.10.01 상세보기 제네릭 (Generics) 함수, 클래스 내부에서 사용할 타입 파라미터를 받아 어떤 타입에도 유연하게 대응하게 작성할 수 있는 스위프트 문법 1. 제네릭 함수 함수명 뒤에 '' 와 같은 방식으로 선언이 가능하다. 이 때 플레이스 홀더의 타입은 전달되는 전달 인자에 의해 결정된다. 전달인자의 타입에 따라서 불필요한 추가 함수들을 만들 필요가 없다. import UIKit func swap(a: inout T, b: inout T) { let temp = a a = b b = temp } var a: Int = 6 var b: Int = 7 print("before a: \(a), b: \(b)") swap(&a, &.. 2021. 5. 28. [Swift] 이니셜라이저 (Initializer) 스위프트 프로그래밍 국내도서 저자 : 야곰 출판 : 한빛미디어 2019.10.01 상세보기 Initialization — The Swift Programming Language (Swift 5.7) Initialization Initialization is the process of preparing an instance of a class, structure, or enumeration for use. This process involves setting an initial value for each stored property on that instance and performing any other setup or initialization t docs.swift.org 이니셜라이저 (Initial.. 2021. 5. 28. [Swift] 옵셔널 추출 (Optional Unwrapping) 옵셔널 추출 (Optional Unwrapping) 옵셔널의 값을 옵셔널이 아닌 값으로 추출하는 방법 1. 강제 추출 (Forced Unwrapping) 가장 간단하게 옵셔널의 값을 추출할 수 있지만 가장 위험한 방법이다. 옵셔널 안의 값이 무조건 nil이 아님을 가정하고 사용하게 하는 방법이기 때문에 런타임 오류가 발생할 가능성이 크다 더불어서 사실상 옵셔널을 사용하는 의미가 무색해지게 한다. 옵셔널 값 뒤에 !를 붙인다. 만약 옵셔널 값이 nil이라면 런타임 오류 발생 import Foundation var test: String? = "Wow" var unwrapped_test: String = test! print(unwrapped_test) //Wow test = nil unwrapped_tes.. 2021. 5. 5. 이전 1 ··· 6 7 8 9 10 11 12 ··· 15 다음