swift 이것저것 정리

냐옹·2024년 7월 16일
0

IOS

목록 보기
32/32

swift에서의 컬렉션은 구조체이나, 값의 복사를 바로 하지는 않는다.

  • swift에서의 컬렉션은 struct이다. 때문에 다음의 코드에서
var array1 : [Int] = [1,2,3,4]

var array2 : [Int] = array1

을 한다면 원래는 값복사가 일어나야 한다.

메모리 상에서

array1 -------------> [1,2,3,4]
array2 -------------> [1,2,3,4]

이렇게 존재해야하지만

우리가 array2 = array1을 했을 때 array2의 내용을 바꾸지 않는다면

array1 -------------> [1,2,3,4] <------------- array2

array2는 array1의 메모리 공간을 참조하게 된다.
그리고 나서 array2에다가 5를 추가하게 되면 그제서야

array1 -------------> [1,2,3,4]
array2 -------------> [1,2,3,4,5]

과 된다.

preview

  • xcode에는 preview라는 것이 있는데, contentview와 다르다.
  • 화면을 그리는 코드와 preview를 그리는 코드가 따로 있고 둘다 구조체이다.

예시로

struct ContentView : View{
	var body : some View{
    	Text("Hello world!").padding()
    }
}
struct ContentView_Previews : PreviewProvider{
	static var previews : some View{
    	ContentView()
    }
}
  • preview에서 글자를 바꾸거나 스타일을 바꾸면 ContentView에 자동으로 수정이 된다..
    (역시 ios....아이폰 쓰고 싶다)
  • 라이브버튼으로 핫리로딩 여부를 선택할 수 있다.
  • 실제 디바이스에도 사용할 수 있음

0개의 댓글