본문 바로가기

iOS/Swift

(4)
[Swift] Collection Type - Set 알아보기 목차) 1. Set 이란? 1) 특징 2) 성능 분석 ( vs Array ) [1] 시간 복잡도 [2] Set vs Array 2. 예시 코드 1) 합집합 2) 교집합 3) 차집합 4) 여집합 5) 상위집합 6) 부분집합 1. Set 이란? 1) 특징 Set 은 고유한 값들의 묶음을 나타내는 Collection Type 이다. 중복된 값을 가지지 않고, 고유한 값만을 저장해야 할 때 사용한다. [1] 고유한 값 Set 은 중복된 값을 허용하지 않는다. Set type 에 동일한 값을 여러번 추가해도, 하나의 값만을 저장한다. [2] 순서 없음 Set 은 요소의 순서가 없으며 보장하지 않는다. 그러므로 index 로 요소에 접근할 수 없다. [3] Equatable 프로토콜 준수 Set 은 값들을 비교하기..
[Swift] lazy property 목차) 1. lazy 란? 2. Swift의 lazy 1) var lazy 2) sequence or collection lazy 3. 적절한 lazy 사용하기 1) 주의 사항 4. 예시 코드 1. lazy 란? 'lazy loading' 이라고도 한다. 지연 초기화를 구현하는 키워드로 속성이 처음으로 필요한 시점에 초기화 될 수 있도록 한다. 불필요한 계산이나 자원소모를 피하고, 성능과 메모리 사용을 최적화 할 수 있다. 주로 비용이 많이 드는 작업이나, 자원소비가 큰 초기화를 지연시키기 위해 사용된다. 예를 들어 네트워크 요청이나 파일 로딩과 같은 작업은 필요한 시점에서만 수행 하도록, 'lazy loading' 을 수행하여 불필요한 작업을 방지 할 수 있다. 2. Swift 의 lazy Swift ..
[Swift] Function 의 In-Out parameter 1. Swift 의 function parameter는 기본적으로 상수(Constant)이다. func addNumber(a: Int, b:Int) -> Int { //parameter a 와 b 는 Constant 이다. return a + b } 인자로 들어온 a의 값을 변경하려고 하면 아래와 같은 에러메시지가 나타난다. func addNumber(a: Int, b:Int) -> Int { a = a + 10 // 에러발생: Cannot assign to value: 'a' is a 'let' constant return a + b } 2. 함수의 인자값을 변경하기 위한 키워드: inout 위의 함수에서 a 라는 인자로 들어온 값을 b로 변환해야 한다고 할 때, a 를 In-Out parameter ..
[Swift] Array Method (초기화, 추가, 삭제) 1. 개요 배열(Array)은 index와 value 로 이루어져 있다. 2. Initializer 메모리에 초기값을 할당하는 명령어 swift는 type safe 하기 때문에 어떤 타입으로 array가 생성될지 알려줘야 한다. 아래는 모두 type safe 하게 array를 초기화 하는 표현 방식이다. var names = Array() var ages = [Int]() 3. 추가 1) append 요소 추가 var names = Array() names.append("kim") names.append("lee") names.append("han") //결과: ["kim", "lee", "han"]  2) append(contentsOf: ) 배열 병합 var names = Array() names..