💡 변수나 객체의 타입을 다른 타입으로 변환하는 프로세스
=> 코드를 통째로 복사한 후 원래 코드는 건들지 않고 독립적으로 개발을 할 수 있게 해주는 기능이다. git branch 브랜치이름
클래스는 프로퍼티와 메서드로 구성되어 있다. 프로퍼티 클래스,구조체,열거형 안에 있는 변수 또는 상수를 나타낸다. 객체의 상태를 저장하거나 제공하며 이러한 상태는 클래스의 인스턴스가 가질 수 있는 고유한 데이터를 나타낸다.
* SRP(단일책임원칙) 클래스는 하나의 책임만을 가져야 한다. 한 클래스에 여러 책임이 있다면 다른 책임과 연관된 코드에 영향을 미칠 수 있어 유지보수가 힘들어진다. 책임을 분리할 땐 항상 결합도와 응집도를 고려해야 하는데 응집도를 높게 결합도는 낮게 설계해야
replacingOccurrences(of: "", with: "") \-> of ""을 with ""으로 변경
zip : 두 개의
비교 연산자 그 중 같음을 표현하는 연산자는 ==와 ===이 있다. swift의 기본 데이터 타입은 모두 구조체로 구현되어 있기 때문에 값 타입이다. 때문에 값의 비교 연산에는 ==을 사용하고 클래스와 인스턴스인 경우에만 ===를 사용한다. 범위 연산자 값의 범위를 나
강의를 듣고 새로 알게 된 타입이나 주의해야 할 점이 있는 타입들을 정리해봤다. 특정 타입이 아닌 여러 타입을 배열에 담을 수 있지만 Any 데이터 형을 대입하려면 반드시 형 변환이 필요하다. 여러 값을 하나로 그룹화한 값이며 관련 값의 단순한 그룹에 유용하다.Int,
연산 프로퍼티는 그때 그때 계산한 값을 알려주기 때문에 변수를 나타내는 var를 사용하여 선언해야 한다."""내용""" 이렇게 작성하면 여러 줄의 코드를 표현할 수 있다.let x = """ Hello World !! """변수 또는 상수 등의
값이 있을 수도 있고 없을 수도 있는 상황에서 옵셔널을 사용하며 ?로 나타낸다.옵셔널로 래핑해놓은 값을 언래핑하여 그 값에 접근할 수 있는 경우와 값이 전혀 없는 경우 두 가지 가능성이 있다.옵셔널 타입끼리의 연산은 불가능하다. \- 변수에 nil을 할당함으로써
문제 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
struct,class,enum,protocol 타입에 새로운 기능을 추가할 수 있다.기존 타입에 기능을 추가하는 수평확장하는 개념이다.기존에 존재하는 기능을 재정의할 수는 없다.외부에서 가져온 타입에 내가 원하는 기능을 추가하고자 할 때 extension을 사용할 수
특정 역할을 하기 위한 메소드,프로퍼티,기타 요구사항 등을 정의해놓은 규약 혹은 약속class,struct,enum이 프로토콜을 채택해서 특정 기능을 실행하기 위한 프로토콜의 요구사항을 실제로 구현할 수 있다.프로토콜에서는 이름과 타입 그리고 gettable,setta
스레드란? 컴퓨터 프로세스 내에서 실행되는 실행 흐름의 단위. 프로세스는 운영체제로부터 자원을 할당받아 실행 중인 프로그램의 인스턴스를 나타내는데, 각각의 프로세스는 하나 이상의 스레드를 가질 수 있다. swift에서의 스레드 메인 스레드: 애플리케이션의 주요
UIKit 앱의 View 계층을 관리하는 개체(object)다양한 UIView 요소들을 포함하고 관리할 수 있다.모든 UIViewController는 하나의 Root View를 가지고 있으며, UIView 요소를 포함한다.화면을 구성하는 기본 객체화면에 보이는 모든 요

Low-Level Debugger라는 뜻으로 LLVM의 디버거 컴포넌트를 개발하는 애플의 서브 프로젝트로우레벨 컨트롤 가능한 모듈로 이뤄져있으며 기계어에 가까운 영역까지 디버깅 가능Xcode의 기본 디버거로 내장Clang식 파서 및 LLVM 디스어셈블러와 같은 LLVM

\-> 사용자에게 알림창을 보여주는 기능을 제공하는 클래스
리스트 형태로 이뤄져있으면 스크롤이 가능하고 데이터를 동적으로 받아서 표현할 수 있다. UIScrollView의 상속을 받은 객체이며, Delegate Pattern을 사용해 구현하는 인터페이스이다. 구현하기 위해 UITableViewDelegate와 UIT

완료를 누르면 리스트의 텍스트가 연하게 변하도록 만들었다.셀에 할 일 추가하는 함수. cell.selectionStyle = .none // 셀을 클릭했을 때 배경색이 바뀌는 이벤트를 없앤다.셀을 오른쪽으로 밀면 delete버튼이 생긴다.
closure 클로저 코드 블럭 변수,상수 등으로 저장할 수 있고 전달인자로 전달이 가능하다. 후행클로저
closure capture 클로저가 외부변수를 캡처하여 저장하고 나중에 사용하는 방법
열이나 행으로 뷰들의 컬렉션을 배치하는 사용하기 쉽고 효율적인 인터페이스이다. 행으로 뷰를 배열하면 가로방향으로 배치되고 열로 뷰를 배열하면 세로방향으로 배치된다.특히 오토레이아웃과 함께 사용할 때 매우 유용하다.stackView는 arrangedSubviews 프로퍼

.ttf나 .otf로 다운받으면 사용가능하다.Xcode에서 폴더를 만들어 그 안에 폰트파일을 추가한다. => Add to targets의 프로젝트를 체크해야 적용된다. \+를 눌러 Fonts provided by application을 추가한다.하위에 폰트이름을 추가한
애플에서 기본적으로 지원하는 디자인 패턴으로 Model-View-Controller 구조의 아키텍처 패턴. 데이터 관련된 코드를 담고 있다. UI에 대한 코드를 담고 있다. Model의 데이터를 보여주고 사용자의 입력을 받아 Controller에 전달한다. Mo

소스코드가 기계어 형태로 저장됨.읽기 전용.프로그램 시작~종료까지 메모리에 있음.전역변수, 정적변수, 상수가 저장되는 곳.프로그램 시작과 동시에 할당, 종료되면 메모리가 해제됨.프로그램 실행중(런타임) 동적으로 할당된 데이터가 저장되는 곳.(\* 런타임: 컴파일이 끝난

\-- protocol : 클라이언트와 서버 간의 통신방법을 지정한다. http://는 보안 없는 통신을, https://는 SSL/TLS 암호화를 사용하여 보안된 통신을 나타낸다.\-- domain : API 서버가 호스팅되는 서버의 주소를 나타낸다

앱이 종료되어도 기억하고 있어야 할 비휘발성 데이터를 저장하기 위해 사용되는 개념.간단한 키-밸류 데이터를 저장하는 데 사용된다. 주로 설정값이나 사용자 기본 설정과 같은 작은 데이터를 저장할 때 사용된다. 키값은 꼭 String타입이어야 한다. \- iOS 앱에서
앱을 실행하는 동안 지속적으로 키-값 쌍을 저장하는 사용자의 기본 데이터베이스에 대한 인터페이스.앱이 실행될 때 데이터를 저장할 수 있는 기본 데이터베이스가 생성된다. 기본 데이터베이스는 property list를 기반으로 하며, .plist파일에 xml형식으로 데이터
* URLSession은 네트워크 데이터를 가져오거나 보내는 작업을 수행한다. [ GET 예시 ] [ URLRequest를 사용한 POST 예시 ]
✔️ 동기 / 비동기 - 쓰레드(Thread): 컴퓨터 프로그램을 실행하는 데 사용되는 가장 작은 실행 단위. 여러 쓰레드가 동시에 작업을 수행할 수 있으며 이러한 다중 쓰레드 작업은 시스템 자원을 효율적으로 활용하고 병렬적으로 작업을 처리할 수 있도록 도와준다. - 동기(Synchronous): 한 작업이 시작되면 그 작업이 끝날 때가지 다음 작업은 대기...

✔️ AVFoundation 기본 구성 - AV(AudioVisual): 소리와 시각적 요소를 모두 처리하는 전자 매체 - AVFoundation: AV 리소스를 처리, 카메라 제어, 오디오 처리, 시스템 오디오와의 상호 작용을 할 수 있도록 해주는 프레임워크. - AVKit: 플레이어의 콘텐츠를 표시하고 재생을 제어하기 위한 기본적인 사용자 인터페이스(자...

SnapKit Github SPM 문서에 있는 url 복사Xcode - File - Add Package Dependencies복사한 url 붙여넣기

✔️ 동작 흐름View에 들어온 이벤트를 ViewModel에 알려주면 ViewModel은 Model을 업데이트시킨다.Model이 변경되면 ViewModel에 알려지고 ViewModel과 바인딩되어있는 View가 업데이트된다.✔️ 장점UI와 비즈니스 로직이 분리되었기에
🔗 https://velog.io/@yulee02/swift-%EB%82%B4%EB%B6%80-%EC%A0%80%EC%9E%A5%EC%86%8C\- 여러 곳에서 사용하기 위한 파일 생성
최소기능제품. 제품 개발 초기에 사용자들에게 가치를 제공하는 핵심 기능을 포함하는 제품 버전사용자 피드백을 수용하고 제품 개선을 위해 사용된다.기능이 충분히 작고 최소한의 특징을 갖추어 시장에 출시할 수 있는 상태. 시간과 비용 절감 효과고객의 니즈가 있는지 먼저 파악
특정 메서드,프로퍼티가 오버라이드되지 않도록 하기 위함. \-> 오버라이드하면 컴파일타임 에러가 발생런타임 성능 향상\-> final 키워드로 인한 성능 비교를 위해서는 Static/Dynamic Dispatch에 대해 알아야한다. ✔️ Static Dispatch(
iOS 13부터 도입된 UICollectionView의 레이아웃 시스템이며 복잡한 UI를 더 쉽게 구현할 수 있도록 하는 도구이다. UICollectionViewCompositionalLayout 클래스를 사용하여 구현.NSCollectionLayoutItem : 컬렉