본문 바로가기
Swift

Swift 4. Swift의 데이터 타입 고급(2) 배열, 딕셔너리

by MiaCoder 2023. 6. 20.

애플이 제공하고, 가장 많이 이용하는  mac, ios에서 사용하는 프로그램, 앱을 만들기 위해서는

 

애플이 개발한 Swift언어를 알아야 합니다.

 

ios 앱 개발을 위해 기반 언어인 Swift의 기본 데이터 타입을 정리해 보겠습니다.

 

 

1. 컬렉션형 

 

Swift는 많은 수의 데이터를 묶어서 저장할 수 있는 컬렉션 타입을 제공합니다.

 

배열, 딕셔너리, 세트 등이 있습니다.

 

 

2. 배열

 

같은 타입의 데이터를 나열 한 후 순서대로 저장한 형태의 타입입니다.

 

let를 통한 상수, var을 통한 변수 모두 가능합니다

 

배열은 표현방법이 여러가지 입니다.

 

import UIKit

var names1: Array<String> = ["lee", "kim", "choei"]
var names2: [String] = ["lee", "kim", "choei"]
//Arrays를 사용하는 방법과 대확호를 사용하는 방법

var emptyArrays1: [Any] = [Any]()
var emptyArrays2: [Any] = Array<Any>()
var emotyArrays3: [Any] = []
//Any를 데이터요소로 사용하는 빈 배열을 생성하는 여러가지 방법

 

배열 추가, 삽입, 특정 자리 삽입, 제거

 

import UIKit

var names1: Array<String> = ["lee", "kim", "choei"]
var names2: [String] = ["lee", "kim", "choei"]
//Arrays를 사용하는 방법과 대확호를 사용하는 방법

var emptyArrays1: [Any] = [Any]()
var emptyArrays2: [Any] = Array<Any>()
var emotyArrays3: [Any] = []
//Any를 데이터요소로 사용하는 빈 배열을 생성하는 여러가지 방법

print(names1[1])
// 배열 순서대로 한 값을 출력하는 방법
names1.append("bang")
// 배열을 마지막에 값을 추가
names1.append(contentsOf: ["asd", "park"])
// 배열을 마지막에 여러개의 값을 추가하는 방법
names1.insert("rwe", at: 2)
// 2번쨰에 값을 추가
names1.insert(contentsOf: ["asd1", "sdas1"], at: 5)
// 5번쨰에 여러 값을 추가하는 방법

print(names1[1])
// 첫 번쨰 값을 출력
print(names1.firstIndex(of: "lee"))
// lee에 해당하는 인데스 번호를 출력
print(names1.first)
//첫 반째 안덱스 값을 출력
print(names1.last)
//마지막 인덱스 값을 출력

let first: Stirng = names1.removeFirst()
// names1에서 첫 번째 값을 뺀것을 지정
let last: String = names1.removeLast()
// names1에서 마지막 값을 뺸 것을 지정
let removwIndex: String = names1.remove(at: 2)
// 2번 쨰 인덱스를 제가한 것을 값으로 지정

 

 

3. 딕셔너리

 

딕셔너리는 값의 순서와 관계없이 키와 값의 쌍으로 구성되는 컬렉션 타입입니다.

 

항상 키와 값의 쌍을 이루게 되며 키가 하나 또는 그 이상일 수 있습니다.

 

하지만 하나의 딕셔너리에는 중복된 이름의 키를 사용할 수 없습니다.

 

var numberForName1: Dictionary<String, Int> = Dictionary<String, Int>()
var numberForName2: [String: Int] = [String: Int]()
var numberForName3: [String: Int] = [:]
// 키는 String, 값은 Int인 빈 딕셔너리 생성하는 여러가지 방법

var numberForNmae4: [String: Int] = ["lee": 100, "kim": 200, "park": 300]
//초기값을 설정하는 경우

print(numberForNmae4.isEmpty)
// 빈 값인지 확인하는 방법
print(numberForNmae4.count)
//값의 개수를 확인하는 방법

print(numberForNmae4["lee"])
// 100
numberForNmae4["lee"] = 150
// 값 변경
numberForNmae4["baek"] = 500
// 새로운 값 추가
print(numberForNmae4.removeValue(forKey: "lee"))
//lee에 헤당하는 값 삭제

print(numberForNmae4["lee", default: 0])
//해당값이 없는 경우 0을 디폴트로 출력

 

딕셔너리를 사용하는 다양항 방법