UIViewController, UIView의 개념그리고 다양한 UIView 컴포넌트에 대해 학습해 보자. 📍UIViewController란?UIKit 앱의 View 계층을 관리하는 개체(object)UIViewController 클래스: UILabel, UIButton, UIImageView 등과 같은 다양한 UIView 요소들을 포함하고, 관리(제어)할 수 있다.모든 UIViewController는 하나의 Root View를 가지고 있으며, UIView요소를 포함한다. 📍UIView란?화면을 구성하는 기본 객체(object)사용자 인터페이스를 구성하는 데 중요한 역할을 하는 클래스UIView 클래스는 화면에 보이는 모든 요소의 기본 클래스이며, 버튼, 레이블, 이미지, 입력 필드 등의 요소들은 모..
Xcode를 시작하고 iOS 프로젝트를 생성하는 과정 및 각 Interface 영역에 대해 알아보자. iOS 프로젝트 생성하기 아래는 iOS 프로젝트를 생성하는 방법이다. Xcode 실행 후 Create new project 클릭 iOS 탭 클릭 후, App 선택 각 항목을 채워넣은다음, Next 버튼을 눌러 다음으로 이동 각 세부 항목들 설명 Product Name : 프로젝트 이름 Team : 애플 개발자로 생성된 인증서를 선택 Organization Identifier : Bundle Identifier의 prefix > 이름 (Personal Team) 혹은 None Interface : UserInferface를 작성할 타입을 선택 > SwiftUI와 Storyboard방식 Language : ..
내 프로젝트의 수정사항이 생겼을 때 push 하는 방법은 다음과 같다. 🔖 Git Branch 생성 후 push 하기 git branch 브랜치명 git checkout 브랜치명 git status로 변경사항 확인 git add . (수정 사항 전체 add) git commit -m “메세지” git log로 커밋 확인 git push origin 브랜치명 코드 업로드 및 pull request 생성 github에서 rebase&merge / merge 로컬에도 반영 : git pull origin main 원격 브랜치 확인 원격 브랜치 확인 : git branch -r 원격에 있는 브랜치로 변경 : git checkout -t origin/브랜치명 ⚠️ 문제 발생 단순하게 위의 방식으로 작업을 진행중에..
클래스에서의 필수적인 초기화 과정이 헷갈렸던 적이 많았는데 강의를 통해 객체를 만들기 위한 여러 가지 초기화 방법에 대해 학습했다. ☑️ 초기화와 생성자 초기화는 클래스, 구조체, 또는 열거형의 인스턴스를 생성하고 속성을 초기화하여 사용할 수 있도록 하는 과정을 의미한다. Swift에서 초기화는 객체가 메모리에 할당되고 속성이 적절히 설정되어 안정적으로 사용될 수 있도록 하는 중요한 단계이다. 인스턴스란? 객체 지향 프로그래밍에서, 인스턴스(Instance)는 클래스, 구조체 또는 열거형과 같은 타입의 실제 예시를 나타낸다. (ex_틀로 찍어낸 무언가) 클래스나 구조체 등의 템플릿(틀)을 기반으로 생성된 실제 데이터를 가리킨다. 즉, 클래스나 구조체를 기반으로 만들어진 객체를 인스턴스라고 한다. // P..
값이 없음을 포함하는 옵셔널의 개념에 대해 학습한 내용을 정리해보고자 한다. ☑️옵셔널 Swift에서는 변수를 저장하는 공간에 박스를 씌워놓는다! 진짜 박스는 아니고 오늘 배울 옵셔널에 대한 비유를 들어본건데 빈 값은 컴퓨터에게는 있어야 할 것이 없다! 🚨는 느낌이기 때문에 에러를 발생시키고 어플리케이션을 종료시키기도 한다. 때문에 이렇게 모든 변수에 박스를 씌워놓고 저장을 하면 값이 있을 때와 없을 때 모두 안전하게 컴퓨터가 값을 읽을 수 있다 😃 값이 없을 수 있는 상황에서 옵셔널(Optional)을 사용합니다. 옵셔널은 물음표 ? 로 나타냅니다. (타입 어노테이션) 옵셔널은 두 가지 가능성을 나타냅니다. 값이 있고 옵셔널로 래핑(wrapping)해놓은 값을 언래핑(unwrapping)하여 해당 값에..
Swift 언어로 알고리즘 문제를 풀 때 고차함수를 이용하면 간단하게 풀이할 수 있다. 내가 푼 풀이에서 1줄짜리 코드가 되는 걸 보며 고차함수에 조금 더 익숙해지고 연습해야겠다는 생각이 절실히 들었다. 오늘 풀었던 알고리즘 문제들을 고차함수로도 연습해 본 코드를 정리해 봤다. Lv.1 : 수박수박수박수박수박수? 🔗문제 링크 나의 풀이 func solution(_ n:Int) -> String { let su = "수" let bak = "박" var result = "" for i in 1...n { result += i % 2 == 0 ? bak : su } return result } for문으로 1부터 n까지의 범위를 반복하며 짝수, 홀수를 판별하여 "수"와 "박"을 이어 붙이도록 작성했다. 다른..
문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,1000,000이하의 자연수 입출력 예 N return 123 6 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. ✏️ 풀이 1. 정수를 문자열로 변환 : String(n) func solution(_ n: Int) -> Int { var answer:Int = 0 for i in String(n) { answer += Int(String(i))! } return answe..
TIL 240126 사용자 인터페이스와 로직 연결 인터페이스 빌더의 객체를 코드와 연결하기 위해 @IBOutlet와 @IBAction 어노테이션을 사용한다. @IBOutlet 와 @IBAction 소개 SwiftUI vs UIKit Storyboard vs Code Stroryboard에서 화면과 코드를 연결하는 방법 UI를 그리는 방법 중 SwiftUI와 UIKit 방식이 있다. 그 중 UIKit으로 화면을 그린다고 선택했을 때 크게 두 가지 방법이 있다. Storyboard와 Code 방법이 있는데 Storyboard만으로는 화면을 그릴 수 없어 코드와 스토리보드를 연결해주는 과정이 필요하다. @IBOutlet 연결 방법은 드래그 앤 드롭 컴포넌트를 연결 함 화면에 있는 뷰와 코드를 연결할 때 사용 ..
TIL 240124 https://yujjne.tistory.com/6 [Swift] 컬렉션 타입(Collection Type) - Array TIL 240123 📍컬렉션 타입(Collection Type)이란? 스위프트는 많은 수의 데이터를 묶어서 저장하고 관리할 수 있는 컬렉션 타입을 제공한다. 컬렉션 타입의 종류는 다음과 같다. Array Dictionary Set 타입 설 yujjne.tistory.com 저번에는 컬렉션 타입과 Array에 대해 알아봤는데 // 1. 타입 추론 var dict = ["John": 90, "Alice": 95, "Bob": 80] var dict = [] // error : 타입 추론으론 빈 딕셔너리 생성 불가 // 2. Type Annotation //[Strin..
TIL 240123 📍컬렉션 타입(Collection Type)이란? 스위프트는 많은 수의 데이터를 묶어서 저장하고 관리할 수 있는 컬렉션 타입을 제공한다. 컬렉션 타입의 종류는 다음과 같다. Array Dictionary Set 타입 설명 Array 순서가 있는 리스트 컬렉션 Dictionary 키와 값의 쌍으로 이루어진 컬렉션 Set 순서가 없고, 멤버가 유일한 컬렉션 배열(Array) 배열은 멤버가 순서(인덱스)를 가진 리스트 형태의 컬렉션 타입이다. 1. 배열의 선언과 생성 배열 타입을 선언해 줄 방법은 다양하다. Array라는 키워드와 타입 이름의 조합으로 사용 가능하고 대괄호로 값을 묶어 Array 타입임을 표현할 수도 있다. 빈 배열은 이니셜라이저, 리터럴 문법을 통해 생성할 수 있다. //..