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

집단 자료형 4가지, 파운데이션 프레임워크 - 스위프트

데브킹덕 2022. 1. 18. 18:09

swift에서는 서로 관련이 있는 데이터끼리 모아서 관리할 수 있도록 집단 자료형(Collective Types)을 제공함 

특징과 성격에 따라 네가지로 보통 분류함

 

1) 배열 (Array)

- 일련번호로 구분되는 순서에 따라 데이터가 정렬된 목록 형태의 자료형

- 어떤 타입의 데이터라도 모두 저장가능

- 데이터 타입이 동일해야 함

 

2) 집합 (Set)

- 중복되지 않은 유일 데이터들이 모인 집합 형태의 자료형

- 어떤 타입의 데이터라도 모두 저장가능

- 데이터 타입이 동일해야 함

 

3) 튜플(Tuple)

- 종류에 상관없이 데이터들을 모은 자료형, 수정 및 삭제를 할 수 없음

- 어떤 타입의 데이터라도 모두 저장가능

- 튜플 내에서 저장되는 데이터들이 모두 달라도 상관없이 저장할 수 있음

 

4) 딕셔너리(Dictionary)

- 배열과 비슷하나 일련번호대신 키(Key)를 사용

- 키 값으로 연관된 데이터들이 순서 없이 모인 자료형

- 어떤 타입의 데이터라도 모두 저장가능

- 데이터 타입이 동일해야 함

 

TMI)

objective - C 에서는 파운데이션 프레임워크에서 정의된 

NSArray, NSDictionary 등의 유사한 객체들을 이용해서 

값의 타입에 상관없이 데이터를 저장할 수 있다. 

하지만 swift에서는 집단 자료형은 저장할 값들이 어떤 타입인지 항상 명확하게 정의한 상태로 선언해야함

swift에서 앱 개발시에 파운데이션 프레임워크에서 제공하는 자료형까지 사용함

 

 

파운데이션 프레임워크란??

(Foundation Framework)

 

전에 앱을 만들때 objective - C는 ANSI C의 내용을 모두 포함하고

거기에 스몰토크(smalltalk)의 객체지향 요소 약간을 추가했을 뿐이라서

언어 자체에는 C언어의 데이터 타입과 기본적인 제어문 이외에는 없다고 봐도 무방함

그럼에도 이 언어로 그간 IOS 앱이나 Mac OS X프로그램을 무리없이 개발할 수 있던 이유는

파운데이션 프레임워크가 있었기 때문임

 

파운데이션 프레임워크로 방대한 라이브러리를 이용할 수 있고, 다양한 객체와 자료형을 사용 할 수 있음

문자열을 다룰때 사용하는 NSString이나 숫자를 다룰 때 사용하는 NSNumber, 인코딩 된 데이터를 다루기 위한 NSData,

배열을 다루기 위한 NSArray,NSMutableArray 등 대부분의 자료형은 모두 파운데이션 프레임워크가 제공해주는 것들임

 

스위프트에서도 파운데이션 프레임워크를 제한없이 이용가능