p.79 : Bool (불리언 타입)
booltest.toggle()를 통해 불리언 값을 뒤집을 수 있다.
p.81 : random(in: ) 메소드 - 임의의 수 만들기
p.82 : String
이니셜라이저 → 빈문자열 생성
var introduce : String = String()
append() 와 +연산자
.count를 통해 문자의 수 카운트.
.isEmpty 빈 문자열인지 확인.
p.87 : Any, AnyObject, nil
Any : 모든 데이터 타입 사용 가능.
AnyObject : 클래스의 인스턴스만 할당 가능. (Any보다는 한정된 의미)
nil : '없음'을 나타내는 스위프트 키워드.
p.90 : typealias (타입 별칭)
임의로 다른 이름(별칭)을 부여할 수 있음. | 기존의 데이터 타입의 이름과 프로그래머가 만들어준 이름 모두 사용할 수 있음.
p.91 : Tuple (튜플)
튜플은 '지정된 데이터의 묶음'임.
튜플의 각 요소를 이름 대신 숫자로 표현 → 각 요소가 어떤 의미가 있는지 유추하기 어려움. → 튜플의 요소마다 이름을 붙여주는 방식은,
→ 타입 별칭을 사용해 좀 더 깔끔하고 안전하게 작성 가능.
p.93 - Array (배열)
스위프트의 Array는 필요에 따라 자동으로 버퍼의 크기를 조절해줌.
isEmpty : 비어있는 배열인지 확인
count : 배열의 요소 개수.
first & last - 맨 처음과 맨 마지막 요소를 가져올 때 쓰임.
firstIndex(of: ) & lastIndex(of: ) - 해당 요소의 인덱스를 알 수 있음. (중복 시, first는 제일 먼저 발견된 요소의 인덱스 | last는 제일 나중에 발견된 요소의 인덱스)
append( _ : ) - 맨 뒤에 요소 추가.
insert( _ : at : ) - 원하는 위치에 요소 추가.
remove( _ : ) - 원하는 요소 삭제. ( removeFirst() | removeLast() | remove( at : ) )
p.96 - Dictionary (딕셔너리)
요소들이 순서가 없음. → print시 뒤죽박죽 나옴.
다양한 선언 방법
var numberForName : Dictionary<String, Int> = Dictionary<String, Int>()
var numberForName : [String : Int] = [String : Int]()
var numberForName : [String : Int] = [:]
p.98 - Set (세트)
같은 타입의 데이터를 순서 없이 하나의 묶음으로 저장하는 컬렉션 타입.
Set는 요소들이 모두 유일함.(중복된 값 존재X) → 집합 관계를 표현하고자 할 때 유용함.
—> Set는 순서가 중요하지 않거나, 각 요소가 유일한 값이어야 하는 경우 사용함.
배열과 달리 축약형이 없다.(Array → [Int] 같은 축약형X)
p.102 - 컬렉션에서 임의의 요소 추출과 뒤섞기
randomElement()메소드 : 임의의 요소 추출
shuffle() 메소드 : (자신을) 실제로 섞음. (Dictionary, Set는 순서가 있기 때문에 shuffle() 사용X)
shuffled() 메소드 : 자신의 요소는 그대로 둔 채로, 섞어서 반환함.
p.104 - enum (기본 열거형)
열거형 : 연관된 항목들을 묶어서 표현
(배열, Dictionary와 다르게) 추가/수정이 불가. → 딱 정해진 값만 열거형 값에 속할 수 있다.
.rawValue (원시 값)
.rawValue 일부만 지정
→ 문자열일 때 : 항목 이름 그대로 rawValue로 저장.
→ 정수형일 때 : 0부터 순차적으로 1씩 rawValue 값 증가.
아래 파일은, 제가 공부하면서 작성한 소스코드 자료입니다.
최근댓글