목록공부중 (8)
BOID
안녕하세요, HoonIOS입니다. :) 저번에는 간단하게 상태패턴에 대해 알아봤는데요, 이번에는 구조에 대해 알아보겠습니다. 상태패턴 구조 콘텍스트 - 상태에 대한 참조를 저장하고 모든 상태별 작업을 하는 곳 - 상태 인터페이스를 통해 상테 객체와 통신하며 새로운 상태 객체를 전달하기 위한 setter을 호출 상태 - 인터페이스로 상태별 메서드를 구현 - 이 메서드는 모든 상태에 대해 유효한 메서드이어야 하는데 그 이유는 상태에 따라 호출될 일이 없는 메서드들를 인터페이스로 구분하면 사이드 이펙트가 나올 가능성이 있기 때문이다. 구상 상태 - 상태별 클래스로 상태 인터페이스에 따른 메서드들을 자체적인 구현을 제공합니다. - 여러 상태에서 유사한 코드의 중복을 피하기 위해 어떤 공통 행동을 캡슐화하는 중간..
안녕하세요! HoonIOS입니다. :) 저번에는 버튼 클로저에 대해 알아봤습니다. 버튼을 눌렀을때의 동작을 구현했는데요 아래 읽고 오시는 걸 추천드립니다. :) boidevelop.tistory.com/56 [iOS] UIAlertController 응용하기 (버튼 클로저) - HoonIOS 안녕하세요 HoonIOS입니다. :) 저번에는 UIAlertController를 구현하는 것을 포스팅해봤습니다. 여기서 응용하는 것이니 기초부터 튼튼하고 오시는 걸 추천드립니다. boidevelop.tistory.com/50 [iOS] 메시지창 boidevelop.tistory.com 이번에는 alert창에 텍스트 필들르 추가하는 방법에 대해 포스팅하겠습니다. 텍스트 필드를 가지는 메시지 창 만들기 - 알림 창은 메..
안녕하세요 HoonIOS입니다. 지난 포스팅에 사용자에게 알림 메시지 보내는 종류와 특징, 중요성에 대해 포스팅을 했는데요 이번에는 메시지 창 메시지 창 알림에 대해 알아보고 UIAlertController를 통해 메시지 창을 띄우는 것을 해보겠습니다. boidevelop.tistory.com/48 [iOS] 사용자에게 메시지를 전달하는 방법에 대해 - HoonIOS 안녕하세요 HoonIOS입니다. :) 앱을 개발하다 보면은 사용자한테 메시지를 전달하고 싶은 내용이 있습니다. 때론 사용자에게 명시적인 메시지를 전달해야 될 때가 있습니다. 예를 들어 .... 서버 점 boidevelop.tistory.com 메시지 창 - 메시지 창의 목적은 앱 실행 도중에 사용자에게 메시지를 전달하고 의사를 입력받기 위한..
안녕하세요 HoonIOS입니다. :) 앱을 개발하다 보면은 사용자한테 메시지를 전달하고 싶은 내용이 있습니다. 때론 사용자에게 명시적인 메시지를 전달해야 될 때가 있습니다. 예를 들어 .... 서버 점검을 한다고 알린다거나 오랫동안 접속을 안 했을 시 초대 알림을 보낸다는 등이 있습니다. 이렇게 사용자한테 메시지를 전달하는 방법은 총 3가지가 있습니다. 메시지(알림창) - alert 로컬 알림 - UserNotification 서버 알림(푸시 알림) - APNs 메시지 창이란? - 메시 자창은 사각형 박스 안에서 버튼을 눌러 의사를 표현하도록 하는 창이 알림 창입니다. - 메시지 창은 한 가지 단점이 있는데 바로 앱이 실행 중일 때만 동작을 한다는 점입니다. 즉 사용자에게 바로바로 메시지를 전달해야 할 ..
안녕하세요 HoonIOS입니다. :) 지금까지 세그웨이를 통한 화면 전환에 대해 알아봤는데요, 세그웨이를 이용하면 화면을 전환하는 과정 전에 특정한 메소드를 호출하도록 설계가 되어있는데 이것을 이용하면 화면을 전환하기 전에 필요한 처리를 해줄 수 있습니다. 이렇게 화면을 전환하기 전에 호출하는 특정한 메소드를 전처리 메소드라고 합니다. 전처리 메소드 실행 - 전처리 메소드는 세그웨이가 실행하기 전에 값을 저장해둘 필요가 있거나, 경고창을 띄어주는 등의 처리를 해야 하는 경우 전처리 메소드에 해당 내용을 작성해 놓으면 세그웨이가 실행 전에 자동으로 실행이 먼저 됩니다. - 이 메소드는 다른 메소드와 같이 따로 우리가 직접 호출하는 것이 아니라 구현을 해놓으면 시스템이 알아서 호출을 하는 것입니다. 형식 p..
안녕하세요 HoonIOS입니다. :) 저번 포스팅에는 값을 해체(추출)하거나 무시하는 패턴의 종류에 대해 알아봤는데요, 이번 포스팅에는 패턴 매칭을 위한 패턴의 종류에 대해 알아보겠습니다. 표현 패턴은 내용이 길이서 다음 포스팅 때 따로 표현 패턴만 포스팅할게요 ㅎㅎ 패턴 매칭을 위한 패턴 종류 - 열거형 케이스 패턴, 옵셔널 패턴, 표현 패턴, 타입캐스팅 패턴 열거형 케이스 패턴이란? - 열거형 타입은 case 조건과 매치시킵니다. - 이 패턴은 switch 구문의 case레이블과 if,while, guard, for-in 구문의 case조건에서 볼 수 있습니다. - 연관값이 있는 열거형 케이스와 매치하려고 한다면 열거형 케이스 패턴에는 반드시 튜플 패턴이 함께 해야 합니다. 연관 값은 각 하나의 타입..
안녕하세요 HoonIOS입니다 :) 저번에는 제네릭의 개념과 제네릭 함수, 타입, 타입 확장에 대해 알아봤는데요, 이번에는 타입 제약 즉 특정 타입에 한정되게 제약을 두는 것과 프로토콜과 서브 스크립트에서 제네릭을 사용하는 것에 대해 알아보겠습니다. 제네릭의 타입 제약 - 앞 포스팅에서는 제네릭 타입 제약을 받지 않는 제네릭 함수를 구현해 보았는데, 만약 특정 타입에서만 한정되어야 할 처리가 있다던가, 제네릭 타입을 특정 프로토콜을 따른느 타입만 사용할 수 있도록 제약을 두어야 하는 상황이 있으면, 이때 타입 제약을 통해서 제약사항을 지정해 줄 수 있습니다. - 타입 제약은 클래스 또는 프로토콜에서만 줄수 있습니다. 이 말은 즉 타입 매개변수 자리에 사용할 실제 타입이 특정 클래스를 상속받는 타입이어야 ..
안녕하세요 HoonIOS입니다 :) 이번은 swift의 extensions에 대해 공부를 해봤는데요, 제가 생각한 것보다 훨씬 포괄적이고 제가 모르는 부분이 많아서 포스팅을 했습니다. 그럼 한번 알아보겠습니다. extensions 란? * 애플 공식 문서에서 정의된 extensions - 공식문서에서 보면 새로운 함수적 기능을 class, structure, enumeration, or protocol type에 확장한다는 의미를 지니고 있습니다. - 익스텐션은 스위프트의 강력한 기능 중 하나로 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있다. - 스위프트의 익스텐션이 타입에 추가할 수 있는 기능은 다음과 같다. 연산 타입 프로퍼티/ 연산 인스턴스 프로퍼티 타입 메서드/ 인스턴스..