일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- C++
- 클라우드
- Swift
- NGINX
- os
- 도커 명령어
- devops
- AWS
- 데브옵스
- boj
- swift 클로저
- centOS
- 운영체제
- kubernetes
- 리눅스
- 도커
- centOS7
- 프로세스
- ios
- docker
- Python
- k8s
- 네트워크
- 쿠버네티스
- 도커 이미지
- 인프라
- 컨테이너
- 도커 컨테이너
- 부스트코스
- linux
- Today
- Total
목록iOS (17)
귀염둥이의 메모

Cocoa Touch Framework iOS 개발환경, 애플리케이션의 다양한 기능 구현에 필요한 여러 개발도구를 포함하는 최상위 레벨의 프레임워크. Objective-C 런타임을 기반으로하고, NSObject를 상속받는 모든 클래스 또는 객체를 가리킬 떄 사용한다. 핵심 프레임워크인 UIKit과 Foundation을 포함한다. Media Layer는 내부 적으로 하위계층인 Core Servies와 Core OS계층의 프레임워크를 이용하고, Cocoa Touch 프레임워크를 구현하는데 사용된다. medium.com/@zieunv/cocoa-touch-framework-bf78307c4a51

MVC MVC(Model-View-Controller) 디자인 패턴은 애플리케이션의 객체를 모델, 뷰, 컨트롤러의 세가지 역할 중 하나의 역할로 할당한다. 애플리케이션 내에서 객체가 수행하는 역할 뿐만 아니라 객체가 서로 통신하는 방식을 정의한다. 세 가지 유형의 객체는 각각 추상적인 경계에 의해 다른 객체와 구분되며, 그 경계를 넘어 다른 유형의 객체와 통신한다. Model : 데이터 값 변경 및 관리 View : 사용자에게 보여지는 화면 담당 (UI) Controller : Model과 View 연결 모델 객체(Model Objects) 애플리케이션과 관련된 데이터를 캡슐화하고, 해당 데이터를 조작하고 처리하는 로직과 계산을 정의한다. 모델 객체는 데이터를 사용자에게 제공하거나 사용자가 이를 편집할 ..

구조체(struct)와 클래스(class) 공통점 값을 저장하기 위해 프로퍼티를 정의할 수 있다. 기능 수행을 위해 메서드를 정의할 수 있다. 서브스크립트 문법을 통해 구조체 또는 클래스가 가지는 값에 접근하도록 서브스크립트 정의 가능. 초기화될 때의 상태를 지정하기 위해 이니셜라이저 정의 가능. extension을 통해 확장 가능. 특정 protocol 준수 가능. 차이점 구조체(struct) 값 타입(Call by Value) : 데이터를 전달 할 때 값을 복사하여 전달. Stack memory 영역에 할당 상속 불가능 클래스(class) 참조 타입(Call by Reference) : 데이터를 전달 할 때 값의 메모리 위치를 전달. Heap memory 영역에 할당 상속 가능 struct Value..

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) 관계가 생성된다. 부모-자식 관계 형성은 애플리케이션의 시각적 모습과 동작 모두 에 영향을 미친다. 슈퍼뷰와 서브뷰의 관계에서 서브뷰가 불투명할 경우 아래 그림과 같이 슈퍼뷰가 서브뷰에 가려진다. 슈퍼뷰는 하나의 배열 안에 서브뷰를 순서대..

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..

AutoLayout(오토 레이아웃) 아이폰 기종이 다양한 사이즈와 화면 비율로 출시가 되면서, 사이즈에 구애받지 않고 시각적으로 동일한 화면을 구현 해야하는데 이를 위한 가장 편리하고 권장되는 방법이 오토레이아웃이다. - 뷰의 제약 사항을 바탕으로 뷰 체계 내의 모든 뷰의 크기와 위치를 동적으로 계산한다. - 애플리케이션을 사용할 때 발생하는 외부 변경에 동적으로 반응하는 사용자 인터페이스를 가능하게 한다. - 인터페이스의 절대적인 좌표가 아닌 동적으로 상대적인 좌표가 필요한 경우에 유용함. 외부 변경(External Changes) - 슈퍼뷰의 크기나 모양이 변경될 때 발생함 ex) 장치 회전(iOS). - 아이패드의 Split View를 사용하거나 사용하지 않는 경우(iOS). - 다른 크기의 클래스..