본문 바로가기

iOS/Swift 문법 심화 학습22

Dictionary 정의 - 요소가 키-값(Key-Value) 쌍인 컬렉션입니다. 개요 - Dictionary는 포함된 항목에 대해 빠른 액세스를 제공하는 일종의 해시 테이블입니다. - 각 항목은 문자열이나 숫자와 같은 Hash가능한 유형인 키를 사용하여 식별합니다. - 또한, 해당 키를 사용하여 모든 개체가 될 수 있는 해당 값을 검색합니다. 제약 조건 - 데이터를 키-값 쌍의 형태로 저장하고 관리합니다. - 배열과 비슷한 목적의 작업을 하지만 순서가 없습니다. - Dictionary에 저장된 각 항목은 값을 참조하고 접근하는 데 사용되는 유일한 키와 연결되어 있습니다. - Dictionary의 키는 해시 가능한 타입이어야 합니다. (Swift의 기본 타입(String, Int, Double, Bool, 등,,)은 해시 .. 2022. 4. 19.
Optional 정의 - 값이 있을 수도 없을 수도 있는 것을 나타내는 것 - 옵셔널을 ?와 !를 사용해 변수를 선언하고 실행할 수 있습니다. - 옵셔널로 선언된 변수의 값은 일반 (Int, Double, String) 자료형이 아닌, Optional 자료형이 됩니다. 선언문에 사용할 때 - ?와 ! 모두 동일하게 옵셔널 변수 선언을 목적으로 사용합니다, 하지만 !는? 와 또 다른 기능이 있습니다. 더보기 ? - 옵셔널 변수 선언 ! - 옵셔널 변수 선언, 옵셔널로 사용되지 않을 것 같으면 자동으로 옵셔널을 언래핑합니다. 옵셔널 실습 선언부에서 ?,! 사용 - ?,! 동일하게 옵셔널 변수 선언으로 실행돼, 변수 x의 값이 Optional(10)으로 초기화됩니다. var x : Int? = 10 // 선언문에서 ?는 옵셔.. 2022. 4. 12.
컬렉션 타입 [Collection Types] 정의 - 컬렉션 타입은 데이터들의 집합으로, Swift에서 컬렉션 타입은 지정된 타입의 데이터 묶음입니다. - Swift에서 컬렉션 타입으로 Array, Set, Dictionary 세 가지를 지원합니다. - 세 가지 컬렉션 타입은 변수(var)에 할당하면 변경이 가능하고 상수(let)에 할당하면 변경 불가능합니다. - Swift에서 컬렉션 타입들은 모두 제네릭 컬렉션으로 구현되어있습니다. 2022.02.08 - [분류 전체보기] - 제네릭 [ Generic ] 제네릭 [ Generic ] 정의 - 제네릭 코드는 유연하게 코드를 작성할 수 있습니다. - 재사용함수와 자료형을 어떤 자료형이든 사용하여 작업할 수 있도록 요구사항을 정의합니다. - 코드의 중복을 방지할 수 있습니다. seagreen83.tis.. 2022. 2. 17.
서브스크립트 [ Subscript ] 정의 - 컬렉션, 리스트, 시퀀스, 등,, 집합의 특정 멤버 엘리먼트에 간단하게 접근할 수 있는 문법입니다. - 클래스, 구조체, 열거형에서 스크립트를 정의해 사용할 수 있습니다. - 서브스크립트를 통해 추가적인 메서드 없이 특정 값을 할당하거나 가져올 수 있습니다. 형식 - 인스턴스 메서드와 계산 프로퍼티를 선언하는 것과 비슷합니다. - 인스턴스 메서드와 다른 점은, 서브스크립트는 읽고-쓰기 혹은 읽기 전용만 가능하다는 것입니다. - 계산 프로퍼티와 같이 setter, getter 방식을 사용합니다. - 서브스크립트의 set 인자 값을 지정하지 않으면 기본 값인 newValue를 사용합니다. subscript(index: Int) -> Int { get { // 반환 값 } set(newValue) {.. 2022. 2. 15.
프로퍼티 [ Properties ] 정의 - 클래스, 구조체, 열거형과 관련한 값입니다. - 프로퍼티의 종류는 저장 프로퍼티(Stored Properties)와 계산 프로퍼티(Computed Properties)가 있습니다. - 저장 프로퍼티는 값을 저장하고 있는 프로퍼티입니다. - 계산 프로퍼티는 값을 저장하고 있지 않고 특정하게 계산한 값을 반환해주는 프로퍼티입니다. - 계산 프로퍼티는 클래스, 구조체, 열거형에서 사용 가능하지만, 저장 프로퍼티는 클래스와 구조체에서만 사용 가능합니다. 저장 프로퍼티 (=Stored Properties) - 저장 프로퍼티는 let 키워드를 이용해서 상수로 사용하거나 var 키워드를 이용해 변수로 사용할 수 있습니다. - 다음 예제는 firstValue와 length에 첫 값과 그 길이를 각각 프로퍼티에.. 2022. 2. 14.
옵셔널 체이닝 [ Optional Chaining ] 정의 - nil일 수도 있는 프로퍼티나 메서드 그리고 서브 스크립트에 질의를 하는 과정입니다. - 옵셔널이 프로퍼티나 메서드 혹은 서브스크립트에 대한 값을 가지고 있다면, 그 값을 반환합니다. ( nil값이면 nil 반환 ) - 여러 질의를 연결해서 할 수 있으며, 연결된 질의 중 하나라도 nil이면 전체 결과는 nil이 됩니다. 예제 클래스 생성 - Person Class와 Apartment Class를 생성하겠습니다. - Person Class는 사람에 대한 정보를 갖는 클래스이고, Apartment는 집에 대한 정보를 갖는 클래스입니다. - Person Class에 home 프로퍼티와 Apartment Class에 man, owner 프로퍼티에는 nil값으로 초기화되어 있습니다. class Pers.. 2022. 2. 10.