목록iOS/swift (9)
개발_:)새발
컬렉션뷰 컬렉션뷰는 유연하고 변경 가능한 레이아웃을 사용하여 데이터 아이템의 정렬된 세트를 표시하는 수단입니다. 컬렉션뷰의 가장 일반적인 용도는 데이터 아이템을 그리드와 같은 형태로 표현합니다. 더불어 다양한 방법으로 컬렉션뷰의 레이아웃을 사용자 정의할 수 있습니다. 컬렉션뷰의 구성요소 셀(Cell) : 컬렉션뷰의 주요 콘텐츠를 표시합니다. 컬렉션뷰는 컬렉션뷰 데이터 소스 객체에서 표시할 셀에 대한 정보를 가져옵니다. 각 셀은 UICollectionViewCell 클래스의 인스턴스 또는 UICollectionViewCell을 상속받은 클래스의 인스턴스입니다. 보충 뷰(Supplementary views) : 섹션에 대한 정보를 표시합니다. 셀과 달리 보충 뷰는 필수는 아니며, 사용법과 배치 방식은 사용되..
프로세서 프로세서는 하드웨어적인 측면에서 컴퓨터 내에서 프로그램을 수행하는 하드웨어 유닛입니다. 대표적으로 중앙처리장치(Central Processing Unit - CPU)가 이에 속합니다. 한 컴퓨터가 여러 개의 프로세서를 갖는다면 멀티 프로세서라고 말합니다. 듀얼 프로세서라고 한다면 한 컴퓨터에 두 개의 프로세서가 운용된다고 할 수 있습니다. 코어 프로세서에서 코어는 주요 연산회로입니다. 싱글코어는 말 그대로 하나의 연산회로가 내장되어있는 것이고 듀얼코어는 두 개의 연산회로가 내장된 것을 뜻합니다. 또, 여러 개의 코어를 가진 프로세서를 멀티 프로세서라고 합니다. 프로그램(Program)과 프로세스(Process) 프로그램은 일반적으로 보조기억 장치에 저장된 실행코드 즉, 생명이 없는 상태를 말합니..
# 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) 뷰 컨트롤러가 화면 위에 나타나는 방식과 모양을 결정할 수 있습니다. 여러가지 표준 프레젠테이션 스타일과 사용자가 직접 디자인하는 커스텀 스타일 등을 통해서 새로운 뷰 ..