일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 프로세스
- 운영체제
- linux
- kubernetes
- NGINX
- os
- 리눅스
- boj
- swift 클로저
- 컨테이너
- 도커 명령어
- 부스트코스
- centOS
- Python
- Swift
- C++
- AWS
- 쿠버네티스
- 도커
- centOS7
- 도커 이미지
- k8s
- 클라우드
- 도커 컨테이너
- ios
- 인프라
- docker
- 데브옵스
- 네트워크
- devops
- Today
- Total
목록iOS (17)
귀염둥이의 메모
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/TQ1mD/btqZpUakyNX/9Ysb51VzyEJYOehL52RoS0/img.png)
Cocoa Touch Framework iOS 개발환경, 애플리케이션의 다양한 기능 구현에 필요한 여러 개발도구를 포함하는 최상위 레벨의 프레임워크. Objective-C 런타임을 기반으로하고, NSObject를 상속받는 모든 클래스 또는 객체를 가리킬 떄 사용한다. 핵심 프레임워크인 UIKit과 Foundation을 포함한다. Media Layer는 내부 적으로 하위계층인 Core Servies와 Core OS계층의 프레임워크를 이용하고, Cocoa Touch 프레임워크를 구현하는데 사용된다. medium.com/@zieunv/cocoa-touch-framework-bf78307c4a51
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bPLGfY/btqZtAoc4po/oHnavYjhlan9p8K7OouVkK/img.png)
MVC MVC(Model-View-Controller) 디자인 패턴은 애플리케이션의 객체를 모델, 뷰, 컨트롤러의 세가지 역할 중 하나의 역할로 할당한다. 애플리케이션 내에서 객체가 수행하는 역할 뿐만 아니라 객체가 서로 통신하는 방식을 정의한다. 세 가지 유형의 객체는 각각 추상적인 경계에 의해 다른 객체와 구분되며, 그 경계를 넘어 다른 유형의 객체와 통신한다. Model : 데이터 값 변경 및 관리 View : 사용자에게 보여지는 화면 담당 (UI) Controller : Model과 View 연결 모델 객체(Model Objects) 애플리케이션과 관련된 데이터를 캡슐화하고, 해당 데이터를 조작하고 처리하는 로직과 계산을 정의한다. 모델 객체는 데이터를 사용자에게 제공하거나 사용자가 이를 편집할 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bkWy4k/btq7Y41UpM4/lG2IC3kDBZT4g4vw8WbkdK/img.png)
구조체(struct)와 클래스(class) 공통점 값을 저장하기 위해 프로퍼티를 정의할 수 있다. 기능 수행을 위해 메서드를 정의할 수 있다. 서브스크립트 문법을 통해 구조체 또는 클래스가 가지는 값에 접근하도록 서브스크립트 정의 가능. 초기화될 때의 상태를 지정하기 위해 이니셜라이저 정의 가능. extension을 통해 확장 가능. 특정 protocol 준수 가능. 차이점 구조체(struct) 값 타입(Call by Value) : 데이터를 전달 할 때 값을 복사하여 전달. Stack memory 영역에 할당 상속 불가능 클래스(class) 참조 타입(Call by Reference) : 데이터를 전달 할 때 값의 메모리 위치를 전달. Heap memory 영역에 할당 상속 가능 struct Value..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d1d4FA/btq7WvF18MO/eH6SKWLzBtS4glmzrpdRZK/img.png)
Optional 값이 있을 수도, 없을 수도 있음을 표현. nil(없음)이 할당 될 수 있는지 없는지 표현. nil은 Optional 변수 이외에서 사용불가. Optional을 쓰는 이유 명시적 표현 nil의 가능성을 코드만으로 표현가능. 문서/주석 작성 시간 절약가능. 안전한 사용 전달받은 값이 Optional이 아니라면 nil 체크를 하지 않고 사용가능. 예외 상황을 최소화한다. Optional 선언 var optionalValue: Optional = nil var optionalValue: Int? = nil // 같은 표현 optionalValue = 30 var someValue = optionalValue // someValue는 Optional타입 // var someValue: Int =..
iOS View iOS에서 화면에 앱의 콘텐츠를 나타내기 위해 윈도우와 뷰를 사용한다. 윈도우는 그 자체로 콘텐츠를 표현할 수 없으며 애플리케이션의 뷰를 위한 컨테이너 역할을 한다. 뷰는 UIView 클래스 또는 UIView 클래스의 하위클래스(Subclass)의 인스턴스이다. 뷰는 또 다른 뷰를 관리하고 구성하기 위해 사용되기도 한다. 뷰 계층(View hierarchy) 하나의 뷰가 다른 뷰를 포함할 때, 두 뷰 사이에 부모(superview)-자식(subview) 관계가 생성된다. 부모-자식 관계 형성은 애플리케이션의 시각적 모습과 동작 모두 에 영향을 미친다. 슈퍼뷰와 서브뷰의 관계에서 서브뷰가 불투명할 경우 아래 그림과 같이 슈퍼뷰가 서브뷰에 가려진다. 슈퍼뷰는 하나의 배열 안에 서브뷰를 순서대..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/kx5J6/btqWc9ah7OF/vVoHSkkAchZd7fnXS9VeDk/img.png)
NSLayoutConstraint - NSLayoutConstraint 인스턴스 생성 제약조건 button과 texField에 기본간격(8.0)에 제약을 주기 위해 NSLayoutConstraint 인스턴스를 생성 NSLayoutConstraint(item: button, attribute: .right, relatedBy: .equal, toItem: textField, attribute: .left, multiplier: 1.0, constant: 8.0) button1 과 button2의 너비 값이 같도록 제약을 생성 NSLayoutConstraint(item: button1, attribute: .width, relatedBy: .equal, toItem: button2, attribute: .w..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bzxd40/btqWsH4OReK/i40aRZKWKjSd1P1ZnhSaGk/img.png)
AutoLayout(오토 레이아웃) 아이폰 기종이 다양한 사이즈와 화면 비율로 출시가 되면서, 사이즈에 구애받지 않고 시각적으로 동일한 화면을 구현 해야하는데 이를 위한 가장 편리하고 권장되는 방법이 오토레이아웃이다. - 뷰의 제약 사항을 바탕으로 뷰 체계 내의 모든 뷰의 크기와 위치를 동적으로 계산한다. - 애플리케이션을 사용할 때 발생하는 외부 변경에 동적으로 반응하는 사용자 인터페이스를 가능하게 한다. - 인터페이스의 절대적인 좌표가 아닌 동적으로 상대적인 좌표가 필요한 경우에 유용함. 외부 변경(External Changes) - 슈퍼뷰의 크기나 모양이 변경될 때 발생함 ex) 장치 회전(iOS). - 아이패드의 Split View를 사용하거나 사용하지 않는 경우(iOS). - 다른 크기의 클래스..