본문 바로가기

Swift랑 친해지기/Swift 책보면서 정리해보기31

옵셔널(Optional) 🔥옵셔널🔥 스위프트가 잠재적 오류를 다루는 방법 옵셔널은 스위프트에서 도입된 새로운 개념으로서 언어 차원에서 프로그램의 안전성을 높이기 위해 사용하는 개념 옵셔널을 한문장으로 간략히 정의하자면 nil을 사용할 수 있는 타입과 없는 타입을 구분하고, 사용할 수 있는 타입을 가리켜 옵셔널 타입(Optional type)이라고 부른다고 할 수 있음 nil 값이 없음을 나타내는 특수한 값 정수형0과 문자열""과는 다름 순수하게 아무 값도 없다는 것을 의미함 이 때문에 nil은 종종 실제 값으로는 처리할 수 없는 , 무엇인가 문제가 발생했을 때 이를 의미하기 위해 사용함 * objective-c에서는 빈 메모리 주소를 가리키는 값이 였음 예를 들어서 딕셔너리 변수명 뒤에 대괄호와 함께 키값을 주어야 하는데 오타로.. 2022. 2. 3.
[집단자료형] 딕셔너리의 순회 탐색 (Swift) 딕셔너리에 저장된 아이템끼리는 순서가 없지만 아이템을 튜플 형식으로 저장할 때 내부적으로 키를 바탕으로 한 해시 연산 값을 기준으로 정렬하기 때문에 이 특성을 사용하면 순회 탐색을 할 수 있음 딕셔너리를 직접 사용하여 탐색하는 방식으로 for ~ in 구문을 작성하면 순회탐색 가능 //딕셔너리의 순회 기능을 사용하여 순회 탐색을 실행함 for row in newCapital { // 딕셔너리에서 꺼낸 키 - 값 한쌍이 담긴 row 상수를 튜플로 받는다 let (key, value) = row print("현재 데이터는 \(key) : \(value)입니다") } for 구문이 반복되면 딕셔너리에 저장된 아이템이 차례대로 row 상수에 대입됨 딕셔너리는 키와 값으로 이루어진 아이템을 내부에 저장할 때 튜플.. 2022. 1. 29.
[집단 자료형] 딕셔너리에 동적으로 아이템 추가하기 (Swift) 배열은 아이템을 추가할때 잘못된 인덱스 참조 오류를 피하려고 배열의 크기를 자동으로 확장하는 메소드만 사용했지만, (append, insert 등) 딕셔너리에는 메소드를 사용해서 추가하는 방법뿐만 아니라 , 직접 새로운 키와 값을 대입하여 아이템을 추가할 수 있음!! 동적으로 아이템 추가 var newCapital = [String : String]() newCaptial["JP"] = "Tokyo" 딕셔너리 변수 뒤에 []를 붙이고, 괄호 안에 사용할 String 타입을 작성한 후 대입 연산자로 원하는 값을 할당하면 됨 "JP" => "Tokyo" 로 이루어진 키-값 쌍의 아이템 하나가 저장됨 딕셔너리에 저장된 튜플의 개수로 딕셔너리의 크기를 결정함 아이템이 저장되어 있는지 isEmpty속성을 통해 확.. 2022. 1. 29.
[집단 자료형] 딕셔너리 (Swift) 딕셔너리란?? (Dictionary) 사전에서 고유 단어와 그 의미가 연결되어 있는 것처럼. 고유 키(Key)와 그에 대응하는 값 (Value)을 연결하여 데이터를 저장하는 자료형임 딕셔너리 정의 [ 키 : 데이터, 키 : 데이터, ... ] 대괄호 사용하고 내부에 차례로 데이터를 작성하면 됨 먼저 데이터를 참조하기 위한 키를 작성하고 이어서 여기에 연결될 값을 작성하는 방식 이때 키와 값 사이는 콜론(:)으로 구분함 딕셔너리는 불특정 키가 사용되므로 데이터를 입력할 때 반드시 키와 함께 쌍으로 입력해야 함 ⚠️주의할 점⚠️ 여기 있는 내용은 필수적으로 지켜야 됨 1. 하나의 키는 하나의 데이터에만 연결되어야 함 2. 하나의 딕셔너리에 키가 중복 될 수 없음 만약 중복해서 선언하면 아이템 추가가 아니라 .. 2022. 1. 28.