목록iOS 프로그래밍 (7)
개발_:)새발
# Gesture Recognizer 제스처 인식기는 여러 제스처 관련 이벤트를 인식할 수 있습니다. 특정 제스처 이벤트가 일어날 때마다 각 타깃에 맞는 액션 메시지를 보내어 제스처 관련 이벤트를 처리할 수 있습니다. UIGestureRecognizer의 하위 클래스 아래의 7가지의 UIGestureRecognizer 하위 클래스를 통해 여러 제스처를 인식할 수 있습니다. UITapGestureRecognizer : 싱글탭 또는 멀티탭 제스처 UIPinchGestureRecognizer : 핀치(Pinch) 제스처 UIRotationGestureRecognizer : 회전 제스처 UISwipeGestureRecognizer : 스와이프(swipe) 제스처 UIPanGestureRecognizer : 드래..
# Target-Action 디자인 패턴 arget-Action 디자인 패턴에서 객체는 이벤트가 발생할 때 다른 객체에 메시지를 보내는 데 필요한 정보를 포함합니다. 액션은 특정 이벤트가 발생했을 때 호출할 메서드를 의미합니다. 그리고 타깃은 액션이 호출될 객체를 의미합니다. 이벤트 발생 시 전송된 메시지를 액션 메시지라고 하고, 타깃은 프레임워크 객체를 포함한 모든 객체가 될 수 있으나, 보통 컨트롤러가 되는 경우가 일반적입니다. # 액션 메서드 액션 메서드는 특정한 양식이 필요합니다. IBAction은 인터페이스 빌더가 메서드를 인지할 수 있도록 해줍니다. 스위프트 언어를 활용한 프로그래밍 방식에서 @objc는 Swift 클래스를 사용하는 Objective-C 코드가 있거나 Objective-C유형의..
# 싱글턴 (SingleTon) 싱글턴은 '특정 클래스의 인스턴스가 오직 하나임을 보장하는 객체'를 의미합니다. 싱글턴은 애플리케이션이 요청한 횟수와는 관계없이 이미 생성된 같은 인스턴스를 반환합니다. 즉, 애플리케이션 내에서 특정 클래스의 인스턴스가 딱 하나만 있기 때문에 다른 인스턴스들이 공유해서 사용할 수 있습니다. # Cocoa 프레임워크에서의 싱글턴 디자인 패턴 Cocoa 프레임워크에서 싱글턴 디자인 패턴을 활용하는 대표적인 클래스를 소개합니다. 싱글턴 인스턴스를 반환하는 팩토리 메서드나 프로퍼티는 일반적으로 shared라는 이름을 사용합니다. FileManager 애플리케이션 파일 시스템을 관리하는 클래스입니다. FileManager.default URLSession URL 세션을 관리하는 클..
# 델리게이션 디자인 패턴(Delegation Design Pattern) Delegate라는 단어의 뜻에서 예측할 수 있듯이, 델리게이션 디자인 패턴은 하나의 객체가 다른 객체를 대신해 동작 또는 조정할 수 있는 기능을 제공합니다. 보통 상황에 맞게 조금 더 정교화된 작업을 하는 경우 사용합니다. 델리게이션 디자인 패턴은 Foundation, UIKit, AppKit 그리고 Cocoa Touch 등 애플의 프레임워크에서 광범위하게 활용하고 있습니다. 주로 프레임워크 객체가 위임을 요청하며, (주로 애플리케이션 프로그래머가 작성하는) 커스텀 컨트롤러 객체가 위임을 받아 특정 이벤트에 대한 기능을 구현합니다. 델리게이션 디자인 패턴은 커스텀 컨트롤러에서 세부 동작을 구현함으로써 동일한 동작에 대해 다양한 ..
# 세그란? 세그는 스토리보드에서 뷰 컨트롤러 사이의 화면 전환을 위해 사용하는 객체입니다. 별도의 코드 없이도 스토리보드에서 세그를 연결하여 뷰 컨트롤러 사이의 화면 전환을 구현할 수 있습니다. # UIStoryboardSegue 클래스 UIStoryboardSegue 클래스는 UIKit에서 사용할 수 있는 표준 화면 전환을 위한 프로퍼티와 메서드를 포함하고 있습니다. 또 커스텀 전환을 정의하기 위해 서브클래스를 구현해서 사용할 수도 있습니다. 필요에 따라서 UIViewController의 performSegue(withIdentifier:sender:) 메서드를 사용하여 세그 객체를 코드로 실행할 수 있습니다. 세그(Segue) 객체는 뷰 컨트롤러의 뷰 전환과 관련된 정보를 가지고 있습니다. 세그는 ..
# 모달이란? 모달은 간단하게 말하면 사용자가 보고있던 화면 위에 다른 화면을 띄워서 시선을 끌게 만드는 방식입니다. 취소버튼, 확인버튼 등을 눌러야 다시 화면을 내리고 원래 보던 화면에 접근할 수 있기 때문에 모달에는 흐름을 이어지는 컨텐츠를 담기보다는 흐름이 끊어져서 딱 눈에 들어와야 하는 컨텐츠를 담는데 사용하거나, 사용자의 입장에서는 화면 아래에 보고있던 내용을 계속 보고싶어 하기 때문에 길게 이어지는 컨텐츠보다는 짧게 처리할 수 있는 컨텐츠를 담는 것이 더욱 좋습니다. # 프레젠테이션 스타일 (Presentation Style) 뷰 컨트롤러가 화면 위에 나타나는 방식과 모양을 결정할 수 있습니다. 여러가지 표준 프레젠테이션 스타일과 사용자가 직접 디자인하는 커스텀 스타일 등을 통해서 새로운 뷰 ..
# 내비게이션 인터페이스(Navigation Interface)란? iOS에서 내비게이션 인터페이스는 주로 계층적 구조의 화면 전환을 위해 사용되는 드릴 다운 인터페이스(drill-down interface)입니다. 드릴 다운 인터페이스란 아래 그림과 같이 각 선택할 수 있는 항목에 대한 세부항목이 존재하는 인터페이스입니다. # 내비게이션 컨트롤러(Navigation Controller) 내비게이션 컨트롤러는 컨테이너 뷰 컨트롤러(container view controller) 내비게이션 스택(navigation stack)을 사용하여 다른 뷰 컨트롤러를 관리합니다. 여기서 내비게이션 스택에 담겨서 콘텐츠를 보여주게 되는 뷰 컨트롤러들을 컨텐트 뷰 컨트롤러(content view controller)라고..