본문 바로가기

반응형

전체 글

(56)
[iOS/Swift] 메모 앱 프로젝트 스파르타 사전캠프 8일차 8일차에는 마지막 프로젝트로 메모 앱 프로젝트 실습을 하였다. 🏁 프로젝트 소개메모 앱은 사용자가 메모를 추가, 삭제하고 저장할 수 있는 간단한 리스트 앱입니다. UITableView와 UserDefaults를 활용하여 데이터 관리와 리스트 UI 구현을 연습할 수 있는 프로젝트입니다. 🛠️ 구현할 기능메모 추가:"+" 버튼을 눌러 새로운 메모를 추가.추가된 메모는 리스트에 표시.메모 삭제:리스트에서 특정 메모를 스와이프하여 삭제.데이터 저장:앱 종료 후에도 메모 리스트가 유지되도록 UserDefaults를 활용해 데이터 저장 및 불러오기. UITableVIew는 아직 미숙하고, UserDefaults는 처음 접해봤기에 시간이 오래 걸렸다.결국 힌트를 참고하고 구글링을 하며 프..
[iOS/Swift] 카운터 앱 프로젝트 스파르타 사전캠프 7일차 오늘은 카운터 앱 프로젝트 실습을 하였다. 🏁 프로젝트 소개카운터 앱은 숫자를 증가, 감소, 초기화하는 기능을 가진 간단한 iOS 앱입니다. UIKit의 기본 컴포넌트를 활용하여 사용자 이벤트를 처리하는 방법과 Auto Layout을 통한 UI 배치를 연습해볼 수 있습니다.🛠️ 구현할 기능숫자 증가/감소:"+" 버튼을 클릭하면 숫자가 1씩 증가."-" 버튼을 클릭하면 숫자가 1씩 감소.초기화 기능:"Reset" 버튼을 클릭하면 숫자가 0으로 초기화.현재 숫자 표시:중앙에 UILabel로 현재 숫자를 표시.Step 3: 추가 도전 과제 (선택 사항)최대/최소 값 설정:증가/감소 값이 특정 범위를 초과하지 않도록 제한(예: -10 ≤ count ≤ 10).버튼 활성화/비활성화:최..
[iOS/Swift] 랜덤 컬러 생성 앱 프로젝트 스파르타 사전캠프 6일차 오늘은 간단한 프로젝트 실습을 하였다. 랜덤 컬러 생성 앱 프로젝트버튼을 클릭할 때마다 배경색이 랜덤하게 바뀌고, 현재 색상의 RGB 값을 화면에 표시하는 간단한 iOS 앱, UIKit 활용 구현할 기능1. 랜덤 색상 생성: 버튼 클릭 시 배경색이 랜덤하게 변경됩니다.2. 색상 정보 표시:현재 화면 배경색의 RGB 값을 화면에 표시합니다.3. 초기화 기능: 초기화 버튼을 누르면 배경색이 흰색으로 변경되고, RGB 값도 초기화됩니다. RGB값 텍스트, Change Color 버튼, Reset 버튼을 Storyboard에서 먼저 만들었다.그 후 기존 VIewController의 UIView의 이름을 Background View로 바꾸고 IBAction을 이용해 Change Color..
[iOS/Swift] Combine 스파르타 사전캠프 5일차 오늘은 드디어 Combine을 배웠다. CombineCombine은 RxSwift와 비슷하지만, Apple 공식 지원이라서 iOS 개발에 점점 더 많이 사용되고 있다고 한다.Combine 프레임워크Apple에서 제공하는 반응형 프로그래밍(Reactive Programming) 프레임워크데이터를 비동기적으로 처리하고, 이벤트를 선언적으로 처리하는데 사용주요 개념Publisher: 데이터를 제공하는 주체Just, URLSession.DataTaskPublisher, NotificationCenter.Publisher 등등Operators: 데이터를 변환하거나 필터링하는 중간 연산자map, filter, debounce, merge 등 연산자 제공Subscriber: 데이터를 수신하고..
[iOS/Swift] 비동기 프로그래밍, 제네릭 스파르타 사전캠프 4일차 오늘은 비동기 프로그래밍과 제네릭에 대해 배웠다. 1. 비동기 프로그래밍비동기 프로그래밍작업을 동시에 실행하거나, 완료 여부를 기다리지 않고 다음 작업을 수행할 수 있는 프로그래밍 방식주로 GCD(Grand Central Dispatch), 비동기 메서드 사용동기 vs 비동기동기(Synchronous): 작업이 완료될 때까지 대기비동기(Asynchronous): 작업 완료를 기다리지 않고 바로 다음 작업 실행GCD의 주요 큐Main Queue: UI 작업을 처리Global Queue: 백그라운드 작업 처리Custom Queue: 사용자 정의 작업 큐2. 제네릭(Generic)제네릭코드의 유연성과 재사용성을 높이기 위해, 타입에 의존하지 않는 코드를 작성하는 방법같은 로직을 다양한..
[iOS/Swift] 클로저, 객체지향 프로그래밍 스파르타 사전캠프 3일차 3일차에서는 클로저와 객체지향 프로그래밍에 대해 배웠다. 1. 클로저(Closures)클로저코드에서 독립적으로 전달 및 사용할 수 있는 기능을 가진 코드 블록변수나 상수에 저장 가능, 함수의 인자로 전달 가능클로저 문법: { (매개변수) -> 반환타입 in 실행 코드 }캡처(Capture)클로저는 외부 변수나 상수의 값을 캡처하여 저장var number = 10let closure = { number += 5 }closer()print(number) // 15클로저 기본 예제// 기본 클로저let greet = { (name: String) -> String in return "Hello, \\(name)!"}print(greet("Alice")) // "Hello, Ali..
[iOS/Swift] 자료구조, 메모리구조, ARC 스파르타 사전캠프 2일차오늘은 자료구조와 메모리 구조 및 ARC에 대해 배웠다1. 자료구조배열(Array)데이터를 순차적으로 저장하는 구조인덱스를 사용해 특정 요소에 접근 가능빠른조회 가능(O(1)), 삽입/삭제시 성능 저하(O(n))var numbers = [1,2,3,4,5]numbers.append(6)numbers.removeFirst()print(numbers) // [2,3,4,5,6]큐(Queue)선입선출(FIFO, First In First Out)한쪽에서 삽입하고, 반대쪽에서 제거사용사례: 작업 대기열, BFS 탐색큐 구현하기// Queuestruct Queue { private var elements: [T] = [] mutating func enqueue(_ elem..
[iOS/Swift] 스파르타 사전캠프 시작 스파르타 사전캠프 1일차 스파르타 iOS 부트캠프를 신청을 완료 후 드디어 오늘 사전캠프를 들었다. 첫 OT에서 설명을 듣고, ZEP를 이용하여 이벤트를 참여하였고 팀원들과 소통을 하였다. 게임하는 기분이 들었다 ㅋㅋiOS 어플 배포하여 수익창출하기!iOS 개발자로 취뽀하기!   퀘스트 모음집에서 struct, class, protocol 자습을 했다Struct, Class특징StructClass메모리 구조StackHeap타입값 타입(Value Type)참조 타입(Reference Type)상속불가능가능성능메모리 복사가 빨라 성능 우수메모리 참조로 성능 낮음(?)※ Class가 성능이 항상 낮은 건 아님!! 같은 팀원 분이 블로그를 보고 말씀해주셨다. 자세한 정보를 얻기 위해 챗지피티에게 물어보았더니 잘..

반응형