프로그래머스 코딩테스트 입문 문제를 풀면서 Swift의 기초가 많이 부족하다고 느껴 다시 학습하게 되었다. BoostCourse의 야곰: iOS 프로그래밍을 위한 스위프트 정리
Day 7 - 2023.01.11스위프트에서 대부분 타입은 구조체로 이루어져 있고 값(Value) 타입이다.구조체는 타입을 정의하는 것이기 때문에 대문자 카멜케이스를 사용하여 정의한다.구조체는 "struct" 키워드를 사용한다.예로 구조체 구현을 하자면 프로퍼티 : 타
Day7 - 2023.01.11스위프트에서 클래스는 참조(reference)타입이고 대문자 카멜케이스를 사용한다.클래스는 다중 상속이 되지 않는다.클래스는 "class" 키워드를 사용한다.예로 클래스 구현을 하자면프로퍼티 : 타입안에 있는 인스턴스 변수메서드 : 타입안
Day 7 - 2023.01.11스위프트 열거형은 다른 언어의 열거형과 많이 다르다. 강령학 기능을 지니고 있어 잘 알아 두는 것이 좋다.유사한 종류의 여러 값을 한 곳에 모아서 정의한 것이다. 예) 요일, 계절 등enum 자체가 하나의 데이터 타입으로, 대문자 카멜케
Day 8 - 2023.01.12클래스는 참조(Reference) 타입이고 열거형과 구조체는 값(Value) 타입이라는 것이 가장 큰 차이다.클래스는 상속이 가능하지만, 열거형과 구조체는 상속이 불가능하다.값 타입(Value Type) : 데이터를 전달 할 때 값을 복
Day 8 - 2023.01.12클로저는 실행가능한 코드 블럭이다.함수와 다르게 이름정의는 필요하지는 않지만, 매개변수 전달과 반환 값이 존재 할 수 있다는 점은 동일하다.함수는 이름이 있는 클로저이다. (함수는 클로저의 일종)일급객체로 전달인자, 변수, 상수 등에 저
Day 9 - 2023.01.13클로저는 아래 규칙을 통해 다양한 모습으로 표현될 수 있다.후행 클로저 : 함수의 매개변수 마지막으로 전달되는 클로저는 후행클로저(traling closure)로 함수 밖에 구현할 수 있다.반환타입 생략 : 컴파일러가 클로저의 타입을 유
Day 9 - 2023.01.13 프로퍼티
Day 10 - 2023.01.14프로퍼티 감시자를 사용하면 프로퍼티의 값이 변경될 때 원하는 동작을 수행할 수 있다.값이 변경되기 직전에 willSet블럭이, 값이 변경된 직후에 didSet블럭이 호출된다.둘 중 필요한 하나만 구현해 주어도 무관하다.변경되려는 값이
Day 10 - 2023.01.14 상속은 클래스, 프로토콜 등에서 가능하다.열거형, 구조체는 상속이 불가능하다.스위프트의 클래스는 단일상속으로, 다중상속을 지원하지 않는다.final 키워드를 사용하면 재정의(overrid)를 방지할 수 있다.static 키워드를 사용
Day 10 - 2023.01.16프로퍼티 초기값이니셜라이저 - init디이니셜라이저 - deinit스위프트의 모든 인스턴스는 초기화와 동시에 모든 프로퍼티에 유효한 값이 할당되어 있어야 한다.프로퍼티에 미리 기본값을 할당해두면 인스턴스가 생성됨과 동시에 초기값을 지니
Day 11 - 2023.01.17 옵셔널 체이닝 옵셔널 체이닝은 옵셔널의 내부의 내부로 옵셔널이 연결되어 있을 때 유용하게 활용 할 수 있다.
Day 11 - 2023.01.17인스턴스의 타입을 확인 하는 용도클래스의 인스턴스를 부모 혹은 자식 클래스의 타입으로 사용할 수 있는지 확인 하는 용도is, as를 사용한다.※ 형변환 'ex. let someDouble = Duble(2)' 타입 캐스팅이 아니라 새로
Day 12 - 2023.01.18 assert 와 guard를 사용하면 애플리케이션이 동작 도중에 새성하는 다양한 연산 결과값을 동적으로 확인하고 안전하게 처리할 수 있도록 확인하고 빠르게 처리할 수 있다.assert(\_:\_:file:line:) 함수를 사용한다.
Day 12 - 2023.01.18스위프트의 프로토콜은 다른 언어에서의 추상 클래스 혹은 인터페이스와 동치하여 생각하면 안된다.프로토콜은 특정 역활을 수행하기 위한 메서드, 프로퍼티, 기타 요구사항을 정의한다. (어떤 타입: 구조체나 클래스나 열거형에다가 기능을 담는것
Day 13 - 2023.01.19익스텐션은 스위프트의 강력한 기능 중 하나이다.익스텐션은 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있는 기능이다.기능을 추가하려는 타입의 구현된 소스 코드를 알지 못하거나 볼 수 없다 해도, 타입만 알고 있다
Day 14 - 2023.01.20스위프트에서 오류(Error)는 Error라는 프로토콜을 준수하는 타입의 값을 통해 표현됩니다.Error 프로토콜은 사실상 요구사항이 없는 빈 프로토콜일 뿐이지만, 오류를 표현하기 위한 타입(주로 열거형)은 이 프로토콜을 채택한다.
Day 14 - 2023.01.20고차 함수(Higher-order function)는 '다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수'를 뜻합니다.스위프트의 함수(클로저)는 일급시민(일급객체)이기 때문에 함수의 전달인자로 전달할 수 있으며, 함