객체지향 프로그래밍 과 SOLID 원칙 객체지향 프로그래밍 객체란? 인간이 분명하게 인지하고 구별할 수 있는 물리적인 또는 개념적인 경계를 지닌 어떤 것. 하나의 개별적인 실체로 식별 가능한 물리적인 또는 개념적인 사물은 어떤것이라도 객체가 될 수 있다. 상태(state), 행동(behavior), 식별자(identity)를 지닌 실체. 객체지향 패러다임 이란? 인간이 인지할 수 있는 다양한 객체들이 모여 현실 세계를 이루는 것처럼 소프트웨어의 세계 역시 인간이 인지할 수 있는 다양한 소프트웨어 객체 들이 모여 있다는 믿음에서 출발한다. 객체지향 패러다임의 목적은 현실세계를 기반으로 새로운 세계를 창조하는 것이다. 객체지향 프로그래밍이란? 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체..
RxSwift Operators Operator란? Operator는 Rx의 기본요소이다. Operator를 사용해 Observable에 의해 방출 되는 이벤트를 변환하고 처리하여 대응할수 있다. Operator는 크게 세 그룹으로 나뉘며 다음과 같다 Filtering Operator Transforming Operator Combining Operator Filtering Operators filtering operator를 사용해 .next이벤트를 통해 받아오는 값을 선택적으로 취하할 수 있다.(원하는놈만 걸러서 가져올수있다.) 기존 Swift의 filter(_:)와 비슷하다. 1. .ignoreElements() https://rxmarbles.com/#ignoreElements ignoreElem..
iOS App 특정 HTTP 접근 허용방법 프로젝트를 진행 하는데 ATS(App Transport Security) 라는 에러가 발생했다. 네트워크 통신중에 발생한 에러인데 요녀석이 뭔지 찾아보니 IOS9 버전 이후부터는 보안에 취약한 네트워크를 차단한다고 한다. 그래서 아무 설정없이 HTTP 에 접근하면 콘솔창에 길게 뭐라뭐라 하면서 App Transport Security 라고 하는 에러가 나오게되는데 Info.plist를 수정해 HTTP접근을 허용해주어야 한다! 아래의 사진처럼 특정 HTTP의 주소를 기재해주면 된다! 주의사항! Allow Arbitary Loads 의 값을 YES 로 설정하고, Exception Domains 에 값이 없다면 모든 HTTP 통신을 허용하게된다. 그럼 애플이 보안강화..
Localization 지역, 언어에따라 다르게 표시하기 Localization 여러 언어와 지역을 지원하여 앱 시장을 확장하십시오. Overview 현지화는 당신의 앱을 여러 언어와 지역으로 번역하고 적응시키는 과정입니다. 다양한 언어를 사용하고 다른 App Store 영역에서 다운로드하는 사용자에게 액세스 권한을 제공하기 위해 앱을 현지화합니다. 먼저 언어와 지역에 맞게 문자열을 자동으로 포맷하고 번역하는 API로 코드를 국제화합니다. 그런 다음 번역의 정확도를 높이기 위해 언어 복수 규칙에 따라 복수 명사와 동사를 포함하는 내용에 대한 지원을 추가합니다. Translate and Adapt Your App Xcode에서 현지화는 사용자가 지원하는 특정 언어 및 지역에 대한 리소스 집합을 의미합니다...
곰튀김님의 RXSwift 1교시 RxSwift는 Swift에 ReactiveX를 적용시켜 비동기 프로그래밍을 직관적으로 작성할 수 있도록 도와주는 라이브러리입니다. RXSwift의 용도는 비동기로 처리되는 작업을 completionHandler(클로저)로 전달하는게 아니라 리턴값으로 전달하기위해 만들어진 유틸리티다! RXSwift를 사용하기 위해서는 아래의 방법들을 익혀야한다! 비동기로 생기는 데이터를 Observable로 감싸서 리턴하는 방법 Observable로 오는 데이터를 받아서 처리하는 방법 Observavle RxSwift에서 사용되는 Observavle 는 아래의 예시코드 형태로 구현되어있다. 위에서 설명한 비동기로 처리되는 작업을 클로저로 전달하지 않고 리턴값으로 전달하기 위해 사용된다! ..
UIActivityViewController 앱에서 표준 서비스를 제공하는 데 사용하는 보기 컨트롤러입니다. Declaration class UIActivityViewController : UIViewController Overview 이 시스템은 항목을 페이스트보드에 복사하고, 콘텐츠를 소셜 미디어 사이트에 게시하고, 전자 메일 또는 SMS를 통해 항목을 보내는 등의 몇 가지 표준 서비스를 제공합니다. 앱은 사용자 지정 서비스를 정의할 수도 있습니다. 앱은 이 보기 컨트롤러를 구성, 표시 및 해제할 책임이 있습니다. 뷰 컨트롤러에 대한 구성에는 뷰 컨트롤러가 작동할 데이터 개체를 지정해야 합니다. (앱에서 지원하는 사용자 지정 서비스 목록을 지정할 수도 있습니다.) 보기 컨트롤러를 표시할 때 현재 장치..
DateFormatter 날짜와 텍스트 표현 사이를 변환하는 포맷터입니다. Date를 text로 바꿔주는놈! Declaration class DateFormatter : Formatter NumberFormatter 처럼 Formatter 상속받는 친구니까 NumberFormatter 랑 비슷하겟죠..? Overview DateFormatter 인스턴스는 NSDate 개체의 문자열 표현을 만들고 날짜 및 시간의 텍스트 표현을 NSDate 개체로 변환합니다. 사용자가 볼 수 있는 날짜 및 시간 표현을 위해 DateFormatter는 다양한 지역화된 사전 설정 및 구성 옵션을 제공합니다. 날짜 및 시간에 대한 고정 형식 표시의 경우 사용자 정의 형식 문자열을 지정할 수 있습니다. ISO 8601 형식의 날짜..
CoreAnimation 시각적 요소(visual elements)를 렌더링, 합성하고 애니메이션화합니다. Overview 코어 애니메이션은 CPU에 부담을 주거나 앱 속도를 늦추지 않고 높은 프레임률과 부드러운 애니메이션을 제공합니다. 애니메이션의 각 프레임을 그리는 데 필요한 대부분의 작업은 사용자를 위해 수행됩니다. 시작점 및 끝점과 같은 애니메이션 매개 변수를 구성하면 나머지는 코어 애니메이션이 수행하고 대부분의 작업은 전용 그래픽 하드웨어로 넘겨 렌더링 속도를 높일 수 있습니다. 자세한 내용은 애니메이션 프로그래밍 가이드 를 참조하십시오. 위의 애니메이션 프로그래밍 가이드를 요약하자면 Core Animation은 iOS / OS X에서 사용 할 수 있는 그래픽 렌더링 및 애니메이션 인프라다. C..