본문 바로가기

ios

(44)
Responder Chain Responder Chain 앱에서 Responder 객체를 사용하여 이벤트 수신 및 처리 Responder 객체는 UIResponder 클래스의 인스턴스이며 일반적인 하위 클래스에는 UIView, UIViewController 및 UIApplication이 포함 Responder는 raw 이벤트 데이터를 수신, 이를 처리해서 다른 Responder 객체로 전달해야함 → UIKit에서 first Responder로 전달 처리되지 않은 이벤트는 dynamic 구성인 Active Responder Chain을 통해 다른 Responder 객체로 전달 된다→ 마지막까지 처리되지 않은 경우 이벤트 메세지를 폐기 → dynamic 구성인 Active Responder Chain: 구성이 바뀔 수 있다 Respon..
Access Control 접근제어 캡슐화와 은닉화 → 불필요한 접근으로 의도치 않은 결과를 초래 하거나 꼭 필요한 부분만 제공해야하는데 전체 코드가 노출될 가능성이 있을 때 접근제어를 이용 모듈 배포할 코드의 묶음 단위 → 현재 프로젝트 하나 단위 하나의 프레임워크(Framework)나 라이브러리(Library) 또는 애플리케이션(Application) import로 부른다 open : 클래스를 개방 접근수준으로 명시하는 것은 그 클래스를 다른 모듈에서도 부모클래스로 사용 하겠다는 목적으로 클래스를 설계하고 코드를 작성했음을 의미합니다.→ 클래스를 상속받거나 재정의 할 수 없도록 막고싶다면 public 로 정의 → 라이브러리 사용자(프로그래머)가 상속받아 사용하면 좋겠다거나 상속 후 재정의하여 사용하면 좋겠다는 생각을 한다면 open 으..
Architecture Pattern 소프트웨어 설계 설계란 비용을 줄이기 위해 하는 것 소프트웨어 설계는 역할, 이름, 책임을 주는 것 → 여러 특성을 가진 대상을 이해하기 위해선 관심사의 분리의 원칙에 따라 한번에 한자기의 측면을 집중하여 분석해야함 Architecture Pattern 아키텍쳐란 소프트웨어의 개략적인 계층 분리 방법 패턴이란 문제에 대한 일반적이고 재사용 가능한 해결 방법 → 즉, 아키텍쳐 패턴이란 소프트웨어 계층 분리 방법도 세부 내용을 패턴화하여 재사용하는 것 GUI 아키텍쳐 : PDS(Presentation Domain Separation)을 기본으로 계층 분리→ GUI 아키텍쳐에는 MVC, MVP, MVVM, Flux가 있음 → PDS란 시스템 본래의 관심사항인 도메인과 모델을 UI인 View로부터 분리시키는 것..
동시성 프로그래밍 동기 프로그래밍(Sync Programming) - 프로그램의 흐름과 이벤트의 발생 및 처리를 종속적으로 수행 즉, 순차적으로 일처리를 진행하는 것 비동기 프로그래밍(Async Programming) - 프로그램의 흐름과 이벤트의 발생 및 처리를 독립적으로 수행 즉, 비순차적으로 일처리를 진행하는 것 병렬 프로그램 - 물리적으로 분리하여 처리 - 동일 혹은 유사한 작업을 나누어 처리 - 실제로 동시에 여러일을 처리 -> 그러기 위해선 다수의 물리적 코어가 필수적 - 규모가 큰 단위의 작업을 처리 -> 이 안에서 동시성을 처리할 수도 있음 동시성 프로그래밍 - 여러 작업을 동시에 하는 거”처럼” 작업하는 것 -> 이를 가능하게 하는 방법으로 나온것이 비동기 프로그래밍
Optional enum Optional: ExpressibleByNilLiteral { case none case some(Wrapped) } 해당 값이 비어있을 수 있음을 명시할 수 있음 옵셔널 타입의 경우 nil을 할당할 수 있음 옵셔널 타입의 기본값을 제공하지 않으면 자동으로 nil이 기본값 옵셔널 타입은 non-옵셔널 타입과 혼재하여 사용할 수 없음 옵셔널 타입은 2가지의 case를 갖는 열거형 // 아래와 같이 사용 가능 let number: Int? = Optional.some(42) let noNumber: Int? = Optional.none print(noNumber == nil) // Prints "true" → none : nil과 동일 / some(Wrapped) : wrapping된 값을 저장 ..
TCP/IP, UDP TCP/IP(Transmission Control Protocol/Internet Protocol) IP의 핵심 프로토콜 중 하나 일반적으로 메일, 컴퓨터 간 파일 전송, 원격 로그인에 사용됨 네트워크에 연결된 여러 호스트(컴퓨터) 사이의 통신을 지원 사용자가 필요하는 많은 통신 서비스에 대한 표준을 제공 장점 하드웨어에 구애받지 않는다 많은 유형의 네트워크 기술을 허용 네트워크 하드웨어의 세부사항을 숨길 수 있다 UDP와 TCP 비교 UDP : 연결을 설정하지 않으며 수신자가 데이터를 받을 준비가 되었는지 확인하지 않고, 단방향으로 정보 전송 신뢰성이 낮은 프로토콜 실시간 응용 및 멀티캐스팅 TCP : 데이터를 주고 받을 양단을 먼저 연결하고, 이를 통해 양방향으로 데이터 전송→ TCP는 메세지 순서를..
typealias typealias TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish Dutch Klingon Swedish English Korean Thai Estonian Latvian Turkish Finnish Lithuanian Ukrainian French Malay Urdu German Maltese Vietnamese Greek Norwegian Welsh Hai..
AppDelegate UIApplicationDelegate 앱의 공유 동작을 관리하는 메소드들 UIKit과 동일하게 앱과 생명주기를 함께함 역할 앱 중앙 데이터 초기화 configure UI 앱 외부 알림에 응답 - 메모리 부족, 다운로드 완료 알림 등 앱 자체를 타겟으로 한 이벤트, 특정 scenes, views, view controller를 타겟하지 않은 이벤트들에 응답 필수 서비스들을 등록 - launch time, Apple Push Notification

728x90