swift에서는 두 가지 방법으로 배열을 선언합니다.
아래는 정적인 방식으로 배열을 선언하고 이를 변수에 대입한 예입니다. 정적 선언은 대괄호를 사용하며, 다음과 같이 대괄호 안에 아이템들을 나열하면 배열이 만들어집니다.
var cities = ["Seoul", "New York", "LA", "Santiago"]
print(cities[1])
New York
값을 할당하지 않은 빈 배열을 선언하고 초기화 할 때는 두 가지 형식을 사용할 수 있습니다. 빈 배열을 선언할 때에는 반드시 아이템 타입을 입력해야 합니다.
Array <아이템 타입> ()
문자열 배열을 선언하고 동시에 초기화하는 예
var cites = Array<String>()
선언과 초기화 분리
var cities : Array<String>
cities = Array()
[아이템 타입]()
배열 선언 및 초기화
var cities = [String]()
선언과 초기화 분리
var cities : [String]
cities = [String]()
저는 두 번째 형식이 익숙하기 때문에 두 번째 형식으로 자주 사용할 것 같습니다.
append 와 insert 메소드를 사용합니다.
var numbers = [Int]()
for i in 0..<4{
numbers.append(i)
}//결과는 [0, 1, 2, 3]
금방 파악되시겠지만 append 는 단순히 배열의 뒤에 추가하는 기능입니다.
반면 insert 메소드는 원하는 위치에 값을 추가할 수 있습니다.
var numbers = [Int]()
for i in 0..<4{
numbers.append(i)
}
print(numbers) //[0, 1, 2, 3]
numbers.insert(4, at: 2)
print(numbers) //[0, 1, 4, 2, 3]
혹시라도 값의 삭제를 원한다면 insert 와 비슷하게 remove를 사용하시면 됩니다.
var numbers = [Int]()
for i in 0..<4{
numbers.append(i)
}
print(numbers)
numbers.insert(4, at: 2)
print(numbers) //[0, 1, 4, 2, 3]
numbers.remove(at: 2)
print(numbers) //[0, 1, 2, 3]
numbers.removeAll()
print(numbers) //[]
Array(repeating:count:) 메소드를 이용합니다.
//(repeating: 반복할 값, count : 반복할 회수)
let fiveArray1 = [Int](repeating: 5, count: 10) //[5,5,5,5,5,5,5,5,5,5]
let fiveArray2 = Array(repeating: 5, count: 10)
// 위 두 array는 완전히 같습니다.