나의 플랫폼/iOS

[iOS] Swift 원시 자료형 복사

GsBOB 2017. 9. 1. 16:47

아래 와 같은 소스에선 결과가 어떻게 나올까?


1
2
3
4
5
6
var arr = [String]()
 
arr.append("append1")
 
var arrCopy = arr
arrCopy.append("append2")
cs



["append1"]

["append1", "append2"]


이렇게 나옵니다.


왜 똑같이 ["append1", "append2"] 나오지 않고 각자 별개로 동작 할까요?


이건 Swift가 원시 자료형이 구조체로 되어 있어서

새로운 변수에 넣을 경우, 새로운 데이터가 생깁니다.


그래서, reference가 아닌 value라고 보면 되겠네요.


참고하면 좋을듯 해서 공유 합니다.