이 영역을 누르면 첫 페이지로 이동
Daily Growth 블로그의 첫 페이지로 이동

Daily Growth

페이지 맨 위로 올라가기

Daily Growth

Loving you is the reason I live. That’s why every day is precious, a step toward my dreams and you.

전체 글

  • Daily Growth
iOS 앱에 MVC를 적용하는 구체적인 방법과 코드 예제

iOS 앱에 MVC를 적용하는 구체적인 방법과 코드 예제

2025.06.24
[공부기록] Swift로 선택형 스토리 앱 만들기 – MVC 패턴과 문법 Swift와 UIKit으로 iOS 앱을 처음 개발하면서 선택형 스토리 게임 앱을 제작하였다. 단순한 구조였지만 이 앱을 통해 MVC 패턴의 중요성, Swift의 struct, mutating, guard let, 함수 반환(return), 파라미터와 외부 이름, UIButton 설정 등 여러 문법 요소를 깊이 이해할 수 있었다. 아래는 앱을 만드는 과정을 따라가며 얻은 지식과 문법 설명을 정리한 공부 기록이다(:1. 초기 구조와 문제점앱은 UILabel(storyLabel)과 UIButton(choice1Button, choice2Button)으로 구성되어 있으며, 각 버튼은 두 가지 선택지를 나타낸다.초기에는 다음과 같이 문자열 ..
Swift로 구현한 객관식 퀴즈 앱의 구조와 동작 흐름

Swift로 구현한 객관식 퀴즈 앱의 구조와 동작 흐름

2025.06.22
📊 0. 앱 전체 흐름 플로우 차트앱 실행 → viewDidLoad() 호출 → updateUI() 실행questionLabel에 문제 텍스트 표시, UIButton에 보기 세 개 출력사용자가 선택지 버튼 클릭 → answerButtonPressed() 호출QuizBrain에서 정답 여부 확인 → 정답이면 녹색, 오답이면 빨간색 표시0.2초 후 nextQuestion() 호출 → 다음 문제로 이동 or 리셋점수와 진행률 표시, UI 갱신 반복 🧱 1. MVC 구조로 살펴보는 파일 구성역할 파일 설명역할파일설명ModelQuestion.swift퀴즈 데이터 구조 정의ModelQuizBrain.swift퀴즈 상태, 점수, 진행률, 로직 관리ViewStoryboardUI 요소 정의 (버튼, 라벨, 프로그레스..
Swift 구조체와 MVC 패턴 완전 정복: mutating, 값 타입, 불변성

Swift 구조체와 MVC 패턴 완전 정복: mutating, 값 타입, 불변성

2025.06.20
이번주는 Swift 프로그래밍 수업을 통해 MVC 디자인 패턴의 도입과 함께 구조체(struct)의 개념, 불변성, 그리고 mutating 키워드의 역할에 대해 깊이 있게 학습했다. (꺄 벌써 목요일이라니! ㅎㅎ)구조체의 정의와 속성Swift에서 구조체(struct)는 값 타입(value type)으로, 클래스와는 다르게 복사(copy)될 때 완전히 새로운 인스턴스가 생성된다. 구조체는 속성(properties)과 메서드(methods)를 가질 수 있으며, 인스턴스 생성 시 초기화 함수(init)를 통해 초기 값을 설정할 수 있다.예를 들어, 다음은 Town이라는 구조체이다.struct Town { let name: String var citizens: [String] var resour..
Swift 퀴즈 앱 리팩토링 : MVC 패턴, -> Bool, mutating func, _ 매개변수

Swift 퀴즈 앱 리팩토링 : MVC 패턴, -> Bool, mutating func, _ 매개변수

2025.06.19
앱을 처음 만들 땐 ViewController 파일 하나에 모든 코드를 몰아넣고 "돌아가기만 하면 됐다"는 마음으로 구현하기 쉽다. 하지만 앱이 조금만 복잡해지면 코드가 산처럼 쌓이고, 가독성이 떨어지며, 수정할 때마다 머리를 싸매게 된다. 그럴 때 필요한 것이 바로 MVC 디자인 패턴이다(: 어제도 공부하긴 했지만, 오늘은 더 깊이 MVC 구조화, -> Bool, mutating func 까지 복습겸 기록을 하고 싶다🥰. 왜 ViewController 하나로는 안 되는가?처음에는 ViewController 파일 하나에 UI와 로직을 다 집어넣어도 잘 돌아간다. 그러나 앱이 조금만 커지면 다음과 같은 문제들이 발생한다:코드가 너무 길고 복잡해져서 가독성이 떨어짐UI 코드와 데이터 처리 코드가 뒤섞임코드..
Swift 앱 개발에서 struct로 배우는 코드 구조의 힘

Swift 앱 개발에서 struct로 배우는 코드 구조의 힘

2025.06.18
Swift 퀴즈 앱 리팩터링 – 구조체, UI 피드백, 타이머, 그리고 MVC 개념저번시간에 이어서- 퀴즈 앱 제작을 진행 중이다. 버튼을 눌러 정답을 맞추고, 다음 질문으로 넘어가는 아주 간단한 구조인 이 앱 하나로 Swift 문법, 구조체 활용, 타이머와 UI 업데이트, 그리고 무엇보다 MVC 아키텍처까지 배울 수 있어서 감사하다(:그래서 오늘은 그 과정을 정리한 공부 기록(+복습겸)이다. 단순히 앱이 "돌아가기만" 하는 것이 아니라, 잘 설계된 구조로 깔끔하게 작동하도록 개선한 리팩터링 과정을 정리했다. 🧠 처음엔 배열로 시작:)초기에는 퀴즈 데이터를 2차원 배열로 처리했다.let quiz = [ ["강아지는 포유류인가요?", "true"], ["고양이는 초식동물인가요?", "false..
Swift 구조체(struct) 실습: 사용자 정보 설계와 메서드 작성

Swift 구조체(struct) 실습: 사용자 정보 설계와 메서드 작성

2025.06.17
Swift 구조체(struct) 실습: KingPin 앱으로 배우는 모델 설계의 기본iOS 개발자를 위한 Struct 기초부터 실전 예제까지Swift 언어는 iOS 앱 개발에서 가장 많이 사용되는 언어이다. 특히 Swift를 처음 배우는 초보 개발자라면 꼭 이해하고 넘어가야 할 개념 중 하나가 바로 구조체(Struct)다. 오늘은 복습겸, 간단하게- 구조체의 정의 ~ 메서드 작성, 실제 사용 예제를 Swift를 통해 실습했다ㅎㅎ.예제는 KingPin이라는 가상의 비즈니스 리더 전용 소셜 네트워킹 앱이다. 이 앱의 핵심은 사용자(User) 정보를 잘 설계하고 다룰 수 있어야 한다는 점! 이를 위해 Swift의 struct를 이용해 User 모델을 정의하고, 다양한 속성과 동작을 추가해보았다(: 📌 실습 ..
Swift로 만드는 퀴즈 앱: UIKit와 구조체로 구현하는 인터랙티브 UI

Swift로 만드는 퀴즈 앱: UIKit와 구조체로 구현하는 인터랙티브 UI

2025.06.16
Swift로 만드는 나만의 퀴즈 앱: UIKit과 구조체오늘은 UIKit 기반의 간단한 퀴즈 앱 구현 과정을 정리했다✨. 앱은 질문을 표시하고 True/False 버튼을 눌러 정답을 확인하며, 진행 상황을 표시하는 기능까지 포함한다. 개발 과정에서 사용된 주요 Swift 문법 요소는 IBOutlet, IBAction, viewDidLoad, 배열(Array), 조건문, 반복 로직, 그리고 구조체(struct)이다. 1. 시작 프로젝트 설정과 UI 연결Xcode에서 제공하는 기본 ViewController 템플릿을 활용하여 퀴즈 앱 프로젝트를 시작했다. 스토리보드에는 간단한 UI를 구성했다.질문을 보여줄 UILabelTrue / False 버튼진행 상황을 나타내는 UIProgressView이제 중요한 것..
iOS 타이머 앱 구현 예제: Swift로 시간 카운트다운 + mp3 재생까지

iOS 타이머 앱 구현 예제: Swift로 시간 카운트다운 + mp3 재생까지

2025.06.15
Swift 타이머 앱 : EggTimer 프로젝트 📦 전체 코드import UIKitimport AVFoundationclass ViewController: UIViewController { @IBOutlet weak var progressBar: UIProgressView! @IBOutlet weak var titleLabel: UILabel! let eggTimes = ["Soft": 3, "Medium": 4, "Hard": 7] var timer = Timer() var totalTime = 0 var secondsPassed = 0 var player: AVAudioPlayer! @IBAction func hardnessSele..
Swift Optional과 Dictionary로 데이터 다루는 실용적인 방법

Swift Optional과 Dictionary로 데이터 다루는 실용적인 방법

2025.06.13
Swift의 사전과 옵셔널 복습 겸 기록(:Swift는 직관적이고 강력한 프로그래밍 언어로, 다양한 데이터 구조와 안전한 코딩을 지원한다. 그중에서도 초심자가 가장 자주 마주치는 개념은 컬렉션 타입과 옵셔널(Optional)이다. (ps. 몇 주 전, iOS 기초 공부를 할 당시에도 배웠던 부분이긴 한데- 다시보게되어서 반갑다 ㅎㅎ.) 무쪼록 이번 글에서는 Swift의 사전(Dictionary)과 옵셔널에 대해 다루고자 한다. 1. 사전(Dictionary)Swift에서 사전은 키(key)와 값(value)의 쌍으로 데이터를 저장하는 컬렉션 타입이다. 배열(Array)이 순차적인 인덱스를 사용하는 반면, 사전은 원하는 키를 사용하여 데이터를 저장하고 검색할 수 있다. 일상생활에서의 사전을 떠올리면 이해가..
Swift 코드 가독성을 바꾸는 switch 문 핵심정리

Swift 코드 가독성을 바꾸는 switch 문 핵심정리

2025.06.12
Switch 문이란?Switch 문은 주어진 값에 따라 여러 다른 실행 경로 중 하나를 선택하는 조건 분기문이다. Swift에서는 switch 문이 매우 강력한 문법 구조로 구현되어 있으며, 단순한 정수 비교 이상의 패턴 매칭이 가능하다. if-else와 비교했을 때 더 간결하고 읽기 쉬운 코드 작성을 도와준다.기차역에 비유한 Switch의 개념Switch 문을 이해하기 위한 흥미로운 비유가 있다. 마치 런던의 패딩턴(Paddington) 역이나 킹스크로스(King’s Cross) 역에 들어선 기관사가 어느 플랫폼으로 들어가야 할지 역장에게 묻는 장면을 상상해보자. 각 플랫폼에는 특정 열차만 정차할 수 있으며, 역장은 번호(1, 2, 3, 4)를 기준으로 안내한다. 이때 기관사는 조건을 하나하나 확인할 ..
Swift 조건문 실습으로 알아보는 인터페이스와 로직 연결

Swift 조건문 실습으로 알아보는 인터페이스와 로직 연결

2025.06.11
🧠 Swift/Xcode – UI 구성, IBAction, 조건문(if/else), 윤년 계산기📌 학습 주제 요약스토리보드(Storyboard)로 UI 구성UILabel, UIButton, UIImageView 속성 조절IBAction 연결 (버튼 다중 연결)조건문(IF, ELSE IF, ELSE)로 로직 분기윤년 판별 로직 구현 (중첩 조건문)Xcode 뷰 계층 vs Photoshop 레이어 차이 이해 1️⃣ 프로젝트 시작: UI 기본기 익히기🎯 목표스토리보드 기반 UI 배치 이해텍스트 잘림 등 기본적인 시각 문제 해결🧪 실습: UILabel 잘림 해결문제: 긴 텍스트가 잘림해결:numberOfLines = 0 → 줄 수 무제한Auto Shrink 설정 → 글꼴 최소 크기 제한label.numb..
UIButton에 감각적인 터치 피드백 넣기: Swift 비동기 처리 실습

UIButton에 감각적인 터치 피드백 넣기: Swift 비동기 처리 실습

2025.06.10
앱 개발을 처음 시작할 때, 가장 많이 접하게 되는 주제 중 하나는 버튼을 눌렀을 때의 반응 처리다. 단순히 기능을 수행하는 것을 넘어, 사용자에게 눌렸다는 피드백을 소리나 시각적으로 제공하는 것은 훌륭한 사용자 경험(UX)을 위한 핵심 포인트이다.오늘은 어제 프로젝트를 토대로, 버튼을 눌렀을 때 투명도를 낮췄다가 다시 복원하는 시각적 효과를 구현해보았다. 이를 통해 Swift에서 UI 반응 처리, 비동기 처리, 그리고 DispatchQueue의 기본 사용법까지 배울 수 있다🧚🏻. 🧪 목표사용자가 버튼을 누르면 해당 음계의 소리가 재생된다.동시에 버튼의 투명도를 0.5로 낮춰 눌림 효과를 준다.0.2초 뒤 원래의 투명도(1.0)로 복원해준다.중간중간 로그를 찍어 비동기 흐름을 확인한다.이 과정을 통..
  • 최신
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • ···
    • 41
  • 다음

정보

Daily Growth 블로그의 첫 페이지로 이동

Daily Growth

  • Daily Growth의 첫 페이지로 이동

검색

메뉴

    카테고리

    • 분류 전체보기 (490) N
      • Design History (69)
      • IT (184) N
      • Typography (13)
      • UX • UI Design (11)
      • Money (62)
      • Health (58)
      • Words (6)
      • Reading (21)
      • English (65) N

    나의 외부 링크

    • Daily Growth
    • Daily World
    • lody.design
    • lody.diary

    정보

    self-improvement의 Daily Growth

    Daily Growth

    self-improvement

    블로그 구독하기

    • 구독하기
    • 네이버 이웃 맺기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. Copyright © self-improvement.

    티스토리툴바