육식하는야채의 개발일지
article thumbnail
[ Swift 문법 ] Switch문
Swift/Swift 문법 2024. 7. 8. 17:04

📌 Switchswitch choice { // 변수(표현식)case "가위": print("가위 입니다.")case "바위": print("바위 입니다.")case "보": print("보 입니다.")default: break}switch문은 변수,표현식을 놓고 case의 값과 변수, 표현식의 값을 매칭시켜 분기처리하는 조건문이다. switch choice { case "가위": print("가위 입니다.")case "바위", "보": print("바위 또는 보 입니다.")default: break}case에 콤마를 사용해서 여러 매칭값을 넣을 수 있다. 주의할 점❗️switch문은 모든 경우의 수를 반드시 다루어야 한다.- 만약 모든 사례를 다루지 않..

article thumbnail
[ Swift 문법 ] 타입 애일리어스(Type Alias)
Swift/Swift 문법 2024. 7. 8. 16:19

타입 애일리어스는 기존에 선언되어 있는 타입, 내가 만든 타입에 새로운 이름을 붙여서 가독성을 높이는 방식이다.// 'Int' 타입에 'Number'라는 새 이름을 부여typealias Number = Int// 이제 'Number'를 'Int'처럼 사용할 수 있습니다let myNumber: Number = 10print("My number is \(myNumber)") 예를 들어 Int 타입에 Number라는 이름을 부여하면 myNumber타입을 원래는 Int 타입으로 선언해야 하지만 Number타입으로 선언할 수 있다. typealias Coordinate = (x: Int, y: Int)let point: Coordinate = (x: 10, y: 20)print("The point is at \(..

article thumbnail
[꼼꼼한 재은씨 기본편 Chapter 04] 화면 전환 - 전처리 메소드의 활용

4.5.5 📌 전처리 메소드의 활용프로그래밍 코드를 통해 화면을 전환하는 방식은 어렵고 난이도가 높지만 자유도가 높다.그래서 선호도가 높은 방식이다.반면 세그웨이를 이용하여 화면을 전환하는 방식은 쉽고 간단하지만 자유도가 제한된다. 세그웨이를 이용해 화면을 전환하는 과정에서 특별한 처리를 해주어야하는 경우는 어떻게 할까?이 경우 코코아 터치 프레임워크가 세그웨이를 실행하기 전에 전처리 메소드 ( Pre-Process-Method )를 호출한다.세그웨이를 실행하기 전에 값을 저장해 둘 필요가 있거나, 경고창을 띄워주는 등의 처리를 할 경우 전처리 메소드에 내용을 적어놓으면세그웨이가 실행되기 전에 자동으로 실행된다.주의할 점은 이 메소드는 우리가 호출하고 싶을 때 호출되는 것이 아니라 알아서 시스템이 호출..

article thumbnail
[꼼꼼한 재은씨 기본편 Chapter 04] 화면 전환 - 커스텀 세그웨이

4.5.4 📌 커스텀 세그웨이앱을 제작하다보면 기본적인 기능의 세그웨이로는 원하는 기능을 충분히 구현하기 어려운 경우가 있다.이럴 때 UIStoryboardSegue 클래스를 서브클래싱하여 새로운 기능을 갖춘 세그웨이 객체를 정의할 수 있다.이를 커스텀 세그웨이 (Custom Segue)라고 부른다. 커스텀 세그웨이 실습커스텀 세그웨이를 만들기 위해서는 UIStoryboardSegue 클래스를 상속받는 클래스를 만들어야 한다.import UIKitclass NewSegue: UIStoryboardSegue { override func perform() { let srcUVC = self.source let desrUVC = self.destination UIView.transition(from:..

article thumbnail
[꼼꼼한 재은씨 기본편 Chapter 04] 화면 복귀 - Unwind

4.5.3 📌 Unwind - 화면복귀복귀, 되돌아가기 등의 단어들은 Unwind라는 공식용어가 있다.새로운 화면으로 전환하는 것을 Wind라고 하고 Unwind는 작업을 해제한다는 의미로 다시 원래 화면으로 돌아간다고 해석할 수 있다. 일반적으로 Unwind는 dismiss나 popViewController 메소드를 사용하는 방식이 있고Unwind Segue를 이용하는 화면 복귀 방식이 있다. 뷰 컨트롤러 오른쪽에 Exit 아이콘이 있는데 UnWind Segue를 구현할 수 있도록 도와준다.구현하는 방법은 다음과 같다. 1. 뷰 컨트롤러 A에 UIStoryboardSegue 타입의 인자값을 받는 @IBAction 액션 메소드를 정의한다.2. 뷰 컨트롤러 B에 버튼을 만들고 이를 Exit 아이콘에 드래..

article thumbnail
[꼼꼼한 재은씨 기본편 Chapter 04] 화면 전환 - 세그웨이를 이용한 전환

4.5 📌 세그웨이를 이용한 화면 전환세그웨이라고 하는 객체는 스토리보드에서 뷰 컨트롤러 사이의 연결 관계 및 화면 전환을 관리하는 역할을 한다.세그웨이는 뷰 컨트롤러 사이에 연결된 화살표로 표시되는데, 한쪽 방향을 향하는 모습이다.이는 출발지와 목적지가 있다는 뜻이고 한쪽으로만 통행할 수 있다는 뜻이다. 소스코드로 화면 전환을 처리하기 위해서는1. 뷰 컨트롤러에 대한 정보를 읽어온다.2. 인스턴트화 한 후 화면을 전환한다.순서로 화면 전환을 해야 하지만 세그웨이를 이용하면 뷰 컨트롤러의 객체를 생성할 필요도, 뷰 컨트롤러에 대한 정보도 필요 없다. 세그웨이에는 2가지 종류가 있다.1. 출발점이 뷰 컨트롤러 자체인 매뉴얼 세그웨이 (Manual Segue)2. 버튼 등이 출발점인 액션 세그웨이 (Act..

article thumbnail
[꼼꼼한 재은씨 기본편 Chapter 04] 화면 전환 - 내비게이션 컨트롤러를 이용한 화면 전환

4.4 📌 내비게이션 컨트롤러를 이용한 화면 전환내비게이션 컨트롤러 (UINavigationController)는 뷰 컨트롤러의 종류 중 하나로계층적인 성격을 띠는 콘텐츠 구조를 관리하기 위한 컨트롤러이다. 뷰 컨트롤러들의 전환을 직접 컨트롤하고, 앱의 내비게이션 정보를 표시하는 역할을 하며, 화면 전환이 발생하는 뷰 컨트롤러들의 포인터를 스택(Stack)으로 관리하여 원하는 화면에 접근하기 쉽게 한다. 내비게이션 컨트롤러는 항상 콘텐츠 계층 구조의 시작점 역할을 하는 루트 뷰 컨트롤러 (Root View Controller)에 직접 연결된 컨트롤러이기 때문에 화면 UI 상단에 네비게이션 바가 표시된다.화면 전환이 발생해도 상단에 내비게이션 바는 그대로 있다.내비게이션 컨트롤러는 화면에 현재 표시되고 ..

article thumbnail
[꼼꼼한 재은씨 기본편 Chapter 04] 화면 전환 - 뒤로 가기 버튼 만들기

[4.3.2] 뒤로 가기 버튼 만들기두 번째 화면에 Back 버튼을 만들어준다.@IBAction 메소드를 추가 하려고 어시스턴트를 키면 오브젝트-C 코드들이 나열되어 있다.이 코드들은 무엇일까? 왜 이렇게 보일까? 뷰 컨트롤러와 클래스의 관계기본으로 생성된 뷰 컨트롤러는 UIViewController 클래스를 상속받은 ViewController라는 이름의 클래스가 미리 연결되어 있었다.하지만 새롭게 추가하는 뷰 컨트롤러는 ViewController에 연결되어있는것이 아니라 UIViewController에 직접 연결되어 있는 상태이다. 기본 클래스인 UIViewController는 오브젝트-C 코드로 작성되어있기 때문에 위의 사진처럼 코드가 보이는 것이다.ViewController는 UIViewContro..