테스트는 일반적으로 다음과 같습니다. 요청할 input(입력) 상태나 값을 준비합니다. 코드가 테스트되도록 호출합니다. ouput(출력)이 맞는지 확인합니다. (asserting) 테스트 가능한 코드는 클라이언트가 작동하는 모든 입력을 제어할 수 있는 방법을 제공합니다. 클라이언트가 생산되는 모든 출력을 검사할 수 있는 방법을 제공합니다. 나중에 코드의 동작에 영향을 미칠 수 있는 내부적인 상태에 의존하는 것을 방지합니다. 첫 번째 기술 프로토콜과 파라미터화하기 open 버튼과 segmented control이 가능한 샘플 예제입니다. 뷰 컨트롤러에서 버튼을 탭하면 호출되는 event입니다. iOS가 다른 앱으로 switch하도록 하는 URL을 만드는 것부터 busines logic이 시작됩니다. UIK..
원본 출처 : https://www.jessesquires.com/blog/2016/07/31/enums-as-configs/ Enums as configuration: the anti-pattern One of the most common patterns I see in software design with Objective-C (and sometimes Swift), is the use of enumeration types (enum) as configurations for a class. For example, passing an enum to a UIView to style it in... www.jessesquires.com Objective-C(혹은 Swift)에서 클래스의 configurat..
Deep Linking Deep linking은 Web에서 하이퍼링크를 이용해서 특정 웹사이트의 웹 컨텐츠를 사용할 수 있도록 해줍니다. 하지만 Mobile deep linking은 웹가 차이가 있습니다. 모바일에서 Deep linking은 URI를 사용해서 앱의 특정 컨텐츠가 있는 곳으로 바로 연결해주는 것입니다. Deferred deep linking은 유저가 앱을 설치하지 않았어도 컨텐츠에 접근할 수 있도록 해줍니다. ( 1. 앱스토어에서 유저가 앱을 설치할 수 있도록 열어주기 2.앱이 인스톨되면, 링크가 원래 URL과 파라미터로 호출되어 새로 설치된 앱이 이 호출을 처리할 수 있음 ) Deep linking 형태 twitter:// is the iOS URI to launch Twitter’s m..