글
안녕하세요~ 에르의 생각발전소입니다 :)
저번 시간에는 tuple과 typealias를 알아보았는데요.
이번 시간에는 collection을 다뤄보도록 하겠습니다.
array는 dictionary, set 등의 친구인데요.
콜렉션 범주안에 속하는 녀석입니다.
자 그럼 본격적으로 시작해볼까요?
var children:Array<String> = ["a", "b", "c", "d", "f" ,"g"]
// children이라는 이름의 스트링 타입을 가진 어레이를 정의하고
// 인스턴스는 a,b,c,d,f,g 입니다. 아이들의 이름이죠?
// 위에 설명했듯이 대괄호가 값을 감싸야하며, 스트링일 경우 큰 따옴표가 따라옵니다.
var age:[Int] = [10,15,20,30,40]
// age라는 이름을 가진 인트타입의 어레이를 만들었으며,
// 10,15,20,30,40 이라는 값을 가지고 있습니다.
// 위와 같이도 어레이를 만들 수 있습니다.
// age 방식이 더 쉽지요?
// 그리고 array로 되있다고해도 let으로 정의된 값은 수정 불가능합니다.
children += ["z"]
// children 어레이에 값을 추가했습니다.
// 역시 대괄호가 필요하고, children은 var이니 수정 가능합니다 .
let maxMemory:Int = 128
// maxMemory라는 인트타입의 상수 클레스를 만들었으며, 값은 128입니다.
// 어레이가 아닙니다.
var presentMemory:Int = 54
// presentMemory는 인트타입이며 갑은 54입니다.
presentMemory += 10
// 어레이가 아니기 때문에 그냥 편하시게 더하시면 됩니다.
let UpgradeMemory1 = 250.5
// UpgradeMemory1 라는 더블값을 가진 클레스를 만들고,
var MemoryBackUp:[Int] = []
// MemoryBackUp 이라는 인트형의 어레이를 만들었고 값은 없습니다.
MemoryBackUp.append(UpgradeMemory1)
// 에러가 났습니다. 왜 에러가 난걸까요..?
MemoryBackUp.append(Int(UpgradeMemory1))
// 왜냐하면 UpgradeMemory의 타입이 더블이기 때문입니다.(형태를 정해주지않으면 자동으로 더블.)
// Int 와 Double은 친구가 못 됩니다.
// 그래서 둘 중 하나의 형태로 통일을 시켜줘야 진행이 가능합니다.
// 스위프트는 타입에 엄격합니다.
// 엄격한만큼 안전성은 올라가며, 개발자와 사용자에게도 여러모로 이득입니다.
// 어레이를 다른 어레이에 할당했을 때 기존 어레이 안에 값이 있으면 복사가 됨.
let copy = MemoryBackUp
// copy라는 어레이를 만들고 이 어레이에 MemoryBackUp이라는 어레이를 할당함.
MemoryBackUp += [128]
// 그리고 MemoryBackUp에 새로운 값을 추가하면?
copy
// copy에 MemoryBackUp에 새로운 값이 추가되기 전의 값이 남아있슴.
// 아무때나 복사가 되는 것은 아니고,
// 어레이의 값이 재초기화되는 순간 복사가 됨.
// 일종의 잔상같은 개념임! :)
var test1:[Int] = [10]
// 테스트1은 인트형의 어레이로 10의 값을 가짐.
var test2:[Int] = [20]
// 테스트2도 인트형의 어레이로 20의 값을 가짐.
var copytest1 = test1
// 카피테스트1은 테스트1이며, 어레이는 카피테스트1에 할당됨.
copytest1 += [23]
// 아까와는 역으로 카피테스트1에 값을 추가했음.
test1
copytest1
// 아까의 예시와 반대의 경우도 가능함! :)
---------------------------------------------------------------------------------------------------------------------------------------
여기까지 Array에 대해서 알아보았습니다.
다음 시간에는 Dictionary 와 Set에 대해서 알아보겠습니다.!
P.S 작성하다가 점검할 때 본건데,,, 존대에서 음슴체로 바뀌네요...ㅎㅎ
Have a lovely DAY~ :))))
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set
2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)
2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스
2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서
2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편
'프로그래밍발전소 ♫' 카테고리의 다른 글
160505 Swift 구문편! if, for, switch 까지! (0) | 2016.05.06 |
---|---|
160505 Swift Collection: Dictionary 와 Set (0) | 2016.05.06 |
160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스 (1) | 2016.04.23 |
160419 Swift part.2 String과 Numbers에 대해서 (0) | 2016.04.20 |
160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편 (0) | 2016.04.19 |
RECENT COMMENT