![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bjrzzU/btrHd2XGbi8/vELEUZq0ik1L1sRHELKvIK/img.png)
클래스, 구조체, 열거형 안에 있는 변수 또는 상수를 프로퍼티, 함수를 메서드 구조체는 스택에, 클래스는 힙에 저장됨. 구조체는 클래스처럼 initialize구문이 없어도됨. -> 멤버와이즈 구문이 제공. 시작하는 스토리보드 설정 프로젝트에 스토리보드를 따로 만들어도 설정을 따로 해주지 않으면 원래의 main스토리보드가 첫 화면으로 뜸. 두 가지를 설정해줘야함. 1. 프로젝트 설정에서 TARGETS의 Main Interface를 새로 만든 스토리보드로 바꿔줌. 2. info.plist에서 Storyboard Name을 바꿔주면됨. Storyboard Reference 하나의 스토리보드에서 여러 개의 뷰컨트롤러가 모이다보면 지저분해보임. storyboard reference를 사용하면 깔끔해보임 왼쪽처럼 ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/BwjWR/btrHbVc5bVZ/bVu9bkmtVmOGWv94jJR3Xk/img.gif)
Alert 버튼 많이 추가하면 테이블뷰처럼 리스트의 형태로 뜸. Date Picker의 Preferred Style 왼쪽부터 Wheels, Compact, Inline iOS14 이전 버전에서는 Wheel style밖에 되지 않았음. Class 참조 타입이므로 메모리 주소 정보가 전달되며, 저장되어 있는 곳을 인스턴스끼리 공통으로 사용함. 필요한 기능을 적절히 조합하여 하나로 묶고, 이름을 붙여서 언제든지 불러와 사용할 수 있게 만든 기능 클래스를 사용해서 코딩하는 것을 객체 지향 프로그래밍 클래스 내부에 선언된 변수를 프로퍼티, 함수를 메서드 정의된 클래스를 사용하기 위해 만들어지는 객체를 인스턴스 -> 인스턴스를 통해 프로퍼티와 메서드에 접근 가능. 다른 클래스로부터 프로퍼티나 메서드를 상속받아 사용..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/b8kSuf/btrG6XIeazx/EDOpugLVRbSHxhZeItKkRK/img.png)
Content Hugging Priority, Compression Resistance Priority Content Hugging Priority -> 우선순위가 높으면 크기가 intrinsic size보다 더 작아질 수 있음. 현재 라벨의 width는 정해주지 않은채 사이에 10의 constraint만 있고, Content Hugging Priority는 같은 상태 -> 오토레이아웃을 만족하기 위해 두 개의 뷰 중 하나의 뷰가 커져야하는데, 우선순위가 같으므로 빨간줄 Content Hugging Priority를 높이면 뷰가 커지지 않을 수 있음. 오른쪽 Label의 Hugging Priority를 1 높이면, 왼쪽 Label의 우선순위가 더 낮기 때문에 크기가 우선적으로 커져야함. 빨간줄이 없어지고..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bQ14vY/btrG0A7ltMr/67IHBIuwYUjXMj3r7ch911/img.gif)
스택뷰에 있는 객체 중 하나 hidden하면 알아서 공간을 채워줌. -> 카카오톡 프로필, 채팅목록 등에서 볼 수 있음. UserInteractionEnabled 뷰에 제스쳐를 넣었을 때 동작이 되지 않는 경우가 있음. 위에 보이는 User Interaction Enabled에 체크가 되어있지 않으면 interaction 불가능 -> 체크를 해주거나, 코드에서 isUserInteractionEnabled를 true로 해주면됨. tag 사용 여러 개의 탭 제스쳐를 하나의 액션에 연결할 때, tag를 이용하면 어떤 뷰인지 알 수 있음. view는 제스쳐가 붙어있는 뷰를 나타냄. 뷰가 이미지뷰였기때문에 view.image에 접근해보려했는데 잘안돼서 tag를 이용함. sender.view?.tag == 1 La..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/3T8Xm/btrGVjR3FoO/CzEHTGKJ3FjQqEXdb0Jfz1/img.png)
메모리 메모리는 Code, Data, Heap, Stack으로 나눠져있으며, Heap을 사용하고 난 이후엔 메모리 해제 필수. -> 메모리 누수로 이어짐 참조 타입의 값들은 모두 Heap에 할당됨. 스위프트에선 ARC를 통해 힙에 할당된 메모리를 자동으로 해제해줌. 강한 참조, 약한 참조, 미소유 참조가 있음. 강한 참조는 인스턴스를 할당할때 참조 횟수가 1 증가하지만 약한 참조와 미소유 참조는 증가하지않음. 클래스 타입의 프로퍼티, 변수, 상수 등을 선언할 때 별도로 식별자를 명시하지 않으면 강한 참조 구조체와 클래스 구조체는 값 타입, 클래스는 참조 타입 구조체는 상속 불가 클래스의 인스턴스에서만 참조 횟수 계산이 가능함. 값 타입은 전달될 값이 복사되어 전달, 참조 타입은 값을 복사하지 않고 참조(..
- Total
- Today
- Yesterday