mvc패턴은 UIKit을 사용해 개발하는 ios 앱에 주로 적용되는 소프트웨어 설계 패턴입니다.Model, View, Controller의 앞글자를 딴 이름으로 각 컴포넌트의 특징은 다음과 같습니다.모델은 데이터와 비즈니스 로직을 담당합니다.데이터를 직접 제공하고 사용
바둑알 항아리에 흰 돌과 검은 돌이 담겨있고 항아리 밖에도 바둑알이 널부러져있습니다.항아리 안에 하나의 돌만 남을 때까지 다음 과정을 반복합니다.' 항아리에서 돌 두 개를 꺼낸다. 돌이 같은 색이라면 검은 돌을, 다른 색이라면 흰 돌을 항아리에 넣는다. '과정을 반복할
이전 계산기 과제는 플레이그라운드에서 객체지향을 바탕으로 구조를 짜는 연습이었다.이번에 진짜 앱을 만드는 과제를 받게 되었고 due date는 11월 22일이다.이번 스파르타 공식 목표와 나의 목표는 다음과 같다.UIStackView 로 버튼들을 규칙성있게 배치Auto
이번 문제는 빈 상자 안에 빈 상자를 넣는 문제입니다.11개의 큰 상자 중 몇 개의 각 상자 안에 중간 상자를 8개 넣을 수 있습니다.다시 중간 상자 하나에는 작은 상자 8개를 넣을 수 있습니다.이 과정을 몇 번 반복하여 빈 상자가 102개가 되었을 때 총 상자의 수는
불변량을 공부하기 위한 문제는 다음과 같습니다.격자무늬로 금이 간 초콜릿을 여러 개의 작은 초콜릿으로 쪼개려고 합니다.쪼갠다는 것은 금을 따라서 초콜릿을 둘로 나눈다는 것을 의미합니다.하나의 초콜릿을 금이 그어진 대로 모두 쪼개어 작은 조각들로 만드려면 몇 번을 쪼개야
캡슐화란 데이터에 대한 보호와 은닉을 목표로 내부의 속성을 숨기고 독립적인 하나의 캡슐을 만드는 것을 의미합니다.단순히 속성을 감추는 것이 아니라 내부의 중요한 속성을 감추면서 데이터의 무결성을 보장하고 결합도를 낮추어 코드의 유연성을 증가시키는데 의의가 있습니다.캡슐
객체지향 프로그래밍의 4가지 특징 이외에 지켜야 할 다섯 가지 원칙입니다. 글 작성은 원칙을 먼저 하게 되었지만 객체지향의 4가지 특징에 대해 먼저 공부하고 원칙을 공부하는 것이 좋다고 생각합니다.공부하면서 느낀 바로는 캡슐화, 상속, 추상화, 다형성은 OOP를 이루는
프로젝트 시작 전 To do check 과제 자체 목표 Abstract Operator라는 프로토콜을 만들고 사칙연산 class에 적용하기 나눗셈 나머지에 대한 연산 처리 단일책임원칙을 따르는 class간의 관계 맺기 트러블 슈팅 작성 커밋 컨벤션 작성 디렉토리 및 파
UIKit으로 프로젝트를 만들면 기본적으로 생기는 main.storyboard를 삭제합니다.다음엔 info.plist에서 name을 검색하여 Storyboard Name 옆의 -를 누릅니다.마지막으로 프로젝트 파일을 누른 뒤 build setting탭에서 file ba
백준 알고리즘 문제 10816번에 대한 스위프트 풀이입니다.첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같
먼저 스위프트로 알고리즘 문제 풀기를 편히 할 수 있도록 새로운 프로젝트에서 Command Line Tool파일을 하나 생성해주겠습니다.알고리즘 ps를 하기 위해선 입력을 받을 수 있어야 하는데 스위프트에서 입력을 받기 위해선 readLine()함수를 사용합니다.rea
Use TextField, List, and bindings to create dynamic content. If you’ve ever typed on an iPhone, you’ve used a text field. In this tutorial, you’ll bui
Explore how @State properties and buttons work to update the UI of your app by creating an app to roll virtual dice. Add the functionality to increase
메모리는 주기억장치로 컴퓨터를 구성하는 핵심 부품 중 하나로 보통 RAM을 지칭합니다. 전원이 꺼지면 저장된 정보가 사라지는 휘발성 저장장치이며, Code, Data, Heap, Stack이라는 네 가지 영역으로 구성되어 있습니다. 이후 설명은 최대한 Swift를 기준
Practice putting views where you want them and inspecting their size by building two onboarding screens for an iOS app. As you code, play with your ow
복잡도란 알고리즘의 효율성을 분석하기 위한 개념이다. 복잡도는 시간 복잡도와 공간 복잡도로 나뉘는데, 시간 복잡도는 알고리즘의 연산 횟수에 중점을 두고 공간 복잡도는 알고리즘이 차지하는 메모리와 관련있다. 최근에는 메모리 성능이 늘어남에 따라 공간 복잡도보다 시간
Apple 공식문서애플의 설명에 따르면 Swift Data는 @Model을 일반 Swift Type에 사용하여 외부에서 관리할 추가 파일이나 도구 없이 Data를 모델링할 수 있다.많은 관계를 자동으로 추론 가능하며 @Attribute(.unique)와 같은 명확한 선
Apple 공식문서 프로퍼티, property struct, class 그리고 enum에서 사용되는 기능으로 내가 그저 변수라고만 생각하고 struct, class에서 선언했었던 변수, 상수들이 모두 저장 프로퍼티(stored property)였다. 프로퍼티의 종류는
Apple 공식문서 반복문 for-in 같은 코드를 특정한 범위 내로 반복하여 실행할 경우 사용하는 문법이다. > 위와 같은 형태이며 item의 부분은 와일드카드를 넣어 생략 가능하다. 배열이나 day3에서 공부했던 CaseItetable enum을 collecti