스파르타 코딩 클럽 - iOS 스타터 6기/본 캠프 54

14. 스파르타 코딩 클럽 - 옵셔널

1. 옵셔널 (Optional)☝️ Swift는 기본적으로 nil(값 없음)을 허용하지 않지만 개발을 하다 보면 값이 없는 경우가 생기게 됩니다!💡 이럴 때 사용할 수 있는 것이 Optional 입니다.     Optional을 사용하면 값이 없는 상황을 개발할 수 있습니다. struct Person { var name: String var age: Int var car: String? // ?를 붙여서 옵셔널 타입이라고 명시하여 값이 없을수도 있다고 알려줄 수 있어요 func introduce() { print("안녕하세요. 제 이름은 \(name)이고, 나이는 \(age)살 입니다.") }}Swift는 기본적으로 nil을 허용하지 않지만, Optional를 사용하..

13. 스파르타 코딩 클럽 - 프로그래밍 기초 주차 과제 Lv3

🎯 Swift로 계산기 만들기* 필수 구현기능(Lv1~Lv3)Lv3아래 각각의 클래스들을 만들고 클래스 간의 관계를 고려하여 Calculator 클래스와 관계 맺기AddOperation(더하기)SubtractOperation(빼기)MultiplyOperation(곱하기)DivideOperation(나누기)Calculator 클래스의 내부 코드를 변경관계를 맺은 후 필요하다면 별도로 만든 연산 클래스의 인스턴스를 Calculator 내부에서 사용Lv2와 비교하여 어떠한 점이 개선되었는지 스스로 생각해 봅시다.hint. 클래스의 책임(단일 책임 원칙) ✅ 직접 구현해보기 - Lv3class Calculator { var num1: Double var num2: Double init(..

12. 스파르타 코딩 클럽 - 열거형 (Enum)

📚 열거형은 Swift에서 특정 주제나 종류에 따라 묶을 수 있는 값들을 그룹화하고 정의하여 데이터타입으로 사용할 수 있습니다.  🛠️ enum의 특징관련된 값을 그룹화할 수 있습니다.enum 키워드와 코드블록을 사용하여 정의할 수 있습니다.그룹화된 값은 enum의 코드블록 내에서 case를 사용하여 정의할 수 있습니다.타입 안정성을 보장하고, 의도를 명확하게 파악할 수 있습니다.정의한 enum은 데이터 타입으로 사용할 수 있습니다.enum을 사용하여 만들어진 인스턴스는 Value Type 📝 enum 기번 선언 방법 및 사용 방법1️⃣ 기본 선언 방법// enum 뒤에 열거형의 이름을 작성하고 코드블록 안에서 그룹화된 값들을 case로 작성합니다.// 기본 선언 방법enum Season { ..

11. 스파르타 코딩 클럽 - 클로저 (Closure)

🛠️ 클로저 Closure익명 함수라고 불리는 클로저는 함수와 유사하게 특정 작업을 수행하는 코드 블록 입니다.함수의 4가지 요소 (이름, 파라미터, 반환타입, 구현부)에서 이름을 제외한 파라미터, 반환타입, 구현부로 구성되어 있습니다.데이터 타입으로 클로저를 사용할 수 있습니다변수에 할당항 재사용할 수 있습니다.함수의 파라미터로 전달할 수 있습니다.코드의 재사용성을 높이고, 비동기 처리, 컬렉션 연산 등의 장점이 있습니다.클로저가 함수 안에 포함된 것이 아니라 클로저 안에 함수가 포함되어 있습니다. 1️⃣ 타입으로 사용하는 방법// 타입으로 사용할 때 표현 방법(파라미터 데이터 타입) -> 리턴 타입파라미터의 타입은 없을 때 비워두고, 리턴 타입이 없는 경우 Void라고 명시합니다.파라미터가 없을 때..

10. 스파르타 코딩 클럽 - 프로그래밍 기초 주차 과제 Lv1, Lv2

🎯 Swift로 계산기 만들기 1️⃣ Intro : iOS 개발 언어인 Swift를 학습해 봅시다🔥지금까지 배운 Swift 문법을 응용해서 나만의 계산기를 만들어 봅시다!간소화된 버전의 계산기 입니다.과제는 Lv1~Lv3까지 필수 구현, Lv4 추가 구현으로 진행됩니다. 2️⃣ 개발 프로세스 가이드1. 개발 환경 세팅파일 생성방법 : Xcode - New - Playground - [iOS] - Blank 생성최신 맥 OS에서 Xcode를 설치하면 Xcode 16 이상 버전을 사용하게 되는데 프로젝트 생성 시 Swift 6으로 되어 있을 경우, Swift 5로 변경하고 진행Playground를 사용하여 함수의 파라미터로 직접 사용자의 입력값을 받을 수 있습니다.// 함수의 파라미터로 숫자를 직접 입력..

9. 스파르타 코딩 클럽 - guard 조건문

❓ guard 조건문• guard는 조건이 false일 때 코드를 더이상 실행시키지 않고 코드블록을 빠져나가는 조건문입니다• 조건이 true일 경우 코드를 계속 진행하고, false일 경우 else 코드 블록에서 탈출해야 합니다.• else 블록은 필수입니다 guard 조건 else { // 조건이 false일 때 실행되는 코드블록 // return, break, continue, throw등 코드블록을 종료하는 구문이 필요 return}// 만약 위에서 조건이 false라면 아래 코드는 실행되지 않습니다.// early exit (빠른 탈출)이라고도 불립니다.// 조건이 true이면 아래의 코드를 계속 진행합니다. // 반복문에서 사용하는 guardfor i in 0...10 { print(..

8. 스파르타 코딩 클럽 - 주석과 print

✓ 주석과 print함수에 대해 알아보자! 1. 주석주석을 사용하면 컴파일러(컴퓨터)가 해당 부분을 무시하고 실행하지 않습니다.// 한줄씩 주석하려면 // 슬래시 2개를 사용하면 뒤에는 컴파일러가 빌드하지 않습니다./*여러줄을 주석하려면위아래 있는거처럼 / *를 조합해서 사용하면 됩니다.*/// 코드에서 빠르게 주석을 하려면 Command + / 를 동시에 누르면 주석이 되거나 풀립니다! 2. printprint는 Debug area에 값을 출력해주는 함수입니다.print("안녕하세요") // print후 괄호 안에 있는 값을 출력해줍니다.let age = 10print(age) // 상수나 변수를 출력할 수 있습니다.// 문장 중앙에 변수나 상수를 넣어서 출력하고 싶다면 \(변수명)을 사용하면 됩니다...

7. 스파르타 코딩 클럽 - Camel case, Snake case, : 컨벤션

오늘은 Camel case에 대해 작성해보려고 한다.Camel case 작성에 앞서 먼저 Swift Convention Guide를 알아보자 ❓ Swift Convention Guide컨벤션이란 코드를 작성할 때 지키면 좋은 통일된 규칙을 의미합니다.➡️ 통일된 규칙이 있으면 다른 사람이 작성한 코드를 빠르게 이해할 수 있어요! Swift는 기본적으로 이름을 표기할 때 Camel Case로 이름을 만들고 있어요이름을 지을 때 공백(스페이스바)를 넣을 수 없기 때문에, 공백 대신 그 다음 글자를 대문자로 씁니다.  1. Camel Case Camel은 낙타를 뜻합니다.낙타의 혹처럼, 단어 사이의 공백 대신 대문자가 들어가는 형식을 말합니다.my name is brody 를 Camel Case로 변환하면 아..

6. 스파르타 코딩 클럽 - Struct와 Class / 프로토콜

1️⃣ 개념 바로 알기1. Struct와 Class1. Struct(구조체):값 타입(Value Type)으로, 메모리에서 값을 복사해 사용하므로 독립된 인스턴스 생성상속 불가능주로 데이터를 저장하거나 간단한 로직을 수행할 때 사용2. Class(클래스):참조 타입(Reference Type)으로, 메모리에서 동일한 인스턴스를 여러 곳에서 참조상속 가능객체지향 프로그래밍의 주요 개념으로 사용🛠️ 주요 차이점특징StructClass메모리 구조StackHeap타입값 타입 (Value Type)참조 타입 (Reference Type)상속불가능가능성능메모리 복사가 빨라 성능 우수메모리 참조로 성능 낮음2. 프로토콜프로토콜(Protocol)은 특정 기능을 정의한 청사진입니다Struct, Class, Enum에서..

5. 스파르타 코딩 클럽 - 네비게이션 및 화면 전환해보기

1. 네비게이션 및 화면 전환- 하나 이상의 화면하나의 화면을 그리고 나면 화면 이동을 고민하게 됩니다그중에 상세 페이지로 갔던 경험 있으신가요?여러 개의 화면을 만들어 놓고 이동하는 방법segue네비게이션우리가 어디로 가야 할지 알려주는 장치입니다이동을 도와주기 때문에 사용자는 길을 잃지 않습니다자동으로 뒤로 가기 버튼이 생깁니다복잡한 코딩 없이 드래그 앤 드롭으로 길을 만들어봅시다     네비게이션 컨트롤러        스토리보드[ 미션 문제 1 ]네비게이션 바를 추가하고, "다음 화면으로" 버튼을 눌렀을 때 새로운 화면으로 이동하게 구현하세요. 이동한 화면에서 "뒤로" 버튼으로 원래 화면으로 돌아오도록 하세요.[ 미션 문제 2 ]배열에 3가지 과일 이름을 저장하고, 테이블 뷰에 그 배열의 내용을 표..