📚 2021년 11월 4일에 공부한 내용입니다. 1. 명명법 이름짓기 규칙 스위프트는 기본적으로 카멜 케이스를 사용한다. Lower Camel Case : fuction, method, variable, constant ex.) someVariableName
📚 2021년 11월 4일에 공부한 내용입니다.Swift는 함수형 프로그래밍 패러다임을 채용한 언어이기 때문에 불변 객체를 중요시 여긴다. 그래서 상수 표현이 많이 등장한다!let: 상수 선언 키워드var: 변수 선언 키워드스위프트는 띄어쓰기에 굉장히 민감하다. 띄어
BoolInt, UIntFloat, DoubleCharacter, Stringtrue와 false만을 값으로 가진다.0, 1은 사용할 수 없다.Int: 정수 타입. 현재는 기본적으로 64비트 정수형.Int 타입 변수에 실수를 넣으면 컴파일 에러 발생.UInt: 양의 정
Any, AnyObject, nil은 기본 데이터 타입은 아니다.Any - Swift의 모든 타입을 지칭하는 키워드AnyObject - 모든 클래스 타입을 지칭하는 프로토콜nil - '없음'을 의미하는 키워드Swift의 모든 타입을 지칭하는 키워드모든 클래스 타입을 지
2021년 11월 15일에 공부한 내용입니다.Array: 순서가 있는 리스트 컬렉션Dictionary: 키와 값의 쌍으로 이루어진 컬렉션. HashMap과 유사하다.Set: 순서가 없고 멤버가 유일한 컬렉션멤버가 순서(인덱스)를 가진 리스트 형태의 컬렉션 타입여러가지
2021년 11월 15일 공부한 내용입니다.반환값이 없을 시에는 반환타입에 Void라고 작성하거나 아예 생략할 수 있다.매개변수가 없을 때에는 괄호 안을 비워준다.
매개변수에 기본적으로 전달될 값을 미리 정해둘 수 있다.매개변수 기본 값은 매개변수 목록 중에 뒤쪽에 위치하는 것이 좋다.함수 호출시 함수 사용자의 입장에서 매개변수의 역할을 좀 더 명확하게 표현하고자 할 때 사용한다.
2021년 11월 15일에 공부한 내용입니다.if만 단독으로 사용해도 되고, else, else if와 조합해서 사용 가능하다.조건을 감싸는 소괄호는 생략해도 된다. (써줘도 된다.)단, {}는 생략할 수 없다.조건문에는 항상 Bool 타입의 값만 위치해야 한다.if
다른 언어들의 for-each 구문과 비슷하다.Dictionary의 경우 이터레이션 아이템으로 튜플이 들어온다.기존 언어의 do-while 구문과 형태 및 동작이 유사하다.do라는 키워드가 스위프트에서는 오류 처리 구문에 사
값이 있을 수도, 없을 수도 있음을 뜻한다.nil이 할당될 수 있는지 없는지를 표현한다.옵셔널이 아닌 상수에 nil 값을 할당하려고 하면 컴파일 오류가 발생한다.nil의 가능성을 명시적으로 표현하기 위해 사용한다.nil의 가
옵셔널에 들어있는 값을 사용하기 위해 꺼내오는 것이다.옵셔널 방식Optional Binding: 옵셔널 바인딩Force Unwrapping: 강제 추출옵셔널의 값을 꺼내오는 방법 중 하나nil 체크 + 안전하게 값을 추출하는
2021년 11월 17일에 공부한 내용입니다.스위프트에서는 대부분의 타입이 구조체로 이루어져 있다.구조체가 굉장히 중요한 역할을 한다!스위프트의 구조체는 타입을 정의하는 것이기 때문에 카멜케이스를 사용하여 정의한다.구조체는 struct 키워들르 사용하여 정의한다.프로퍼
클래스는 구조체와 매우 유사하다.그러나 구조체는 값 타입인 반면,클래스는 참조(reference) 타입이다.Swift의 클래스는 다중 상속이 되지 않는다.정의: class 키워드를 사용한다.클래스도 구조체와 유사하게 프로퍼티
Swift의 열거형은 다른 언어의 열거형과 다르게 강력한 기능을 지니고 있다.유사한 종류의 여러 값을 한 곳에 모아서 정의한 것을 열거형이라고 한다. (ex. 요일, 월 계절 등)각 case 그 자체가 고유한 값으로 취급이
전통적인 OOP 관점에서의 클래스단일상속(인스턴스/타입) 메서드(인스턴스/타입) 프로퍼티참조 타입Apple 프레임워크의 대부분의 큰 뼈대는 모두 클래스로 구성되어 있다.C언어 등의 구조체보다 다양한 기능을 갖고 있다.상속이
클로저는 실행가능한 코드 블럭이다.일급객체로 전달인자, 변수, 상수 등에 저장 및 전달이 가능하다.함수는 이름이 있는 클로저이다.함수와 다르게 이름정의는 필요하지 않지만, 매개변수 전달과 반환 값이 존재할 수 있다는 점이 동
클로저는 매우 다양한 표현법이 있기 때문에 남들이 이해할 수 있을 선에서 적절하게 축약을 해야 한다.클로저는 아래 규칙을 통해 다양한 모습으로 표현될 수 있다.후행 클로저: 함수의 매개변수 마지막으로 전달되는 클로저는 후행
프로퍼티는 구조체, 클래스, 열거형 내부에 구현해서 타입과 연관된 값들을 표현할 때 사용한다.저장 프로퍼티(stored property)연산 프로퍼티(computed property)인스턴스 프로퍼티(instance prop
프로퍼티 감시자를 사용하면 프로퍼티의 값이 변경될 때 원하는 동작을 수행할 수 있다.값이 변경되기 직전에 willSet 블럭이, 값이 변경된 직후에 didSet 블럭이 호출된다.둘 중 필요한 하나만 구현해주어도 무관하다.변경
상속은 클래스, 프로토콜 등에서 가능하다.열거형, 구조체는 상속이 불가능하다.스위프트의 클래스는 단일상속으로, 다중상속을 지원하지 않는다.final: 재정의(오버라이드)를 방지할 수 있다.static 키워드를 사용해 타입 메
.스위프트의 모든 인스턴스는 초기화와 동시에 모든 프로퍼티에 유효한 값이 할당되어 있어야 한다.프로퍼티에 미리 기본값을 할당해두면 인스턴스가 생성됨과 동시에 초기값을 지니게 된다.프로퍼티 초기값을 지정하기 어려운 경우에는 이니
옵셔널 체이닝은 옵셔널의 내부의 내부의 내부로 옵셔널이 연결되어 있을 때 유용하게 활용할 수 있다.매번 nil 확인을 하지 않고 최종적으로 원하는 값이 있는지 없는지 확인할 수 있다.
타입캐스팅에 대해 알아보자
assert, guard에 대해 알아보자
프로토콜에 대해 알아보자
익스텐션(Extension)은 스위프트의 강력한 기능 중 하나이다.
스위프트에서 오류(Error)는 Error라는 프로토콜을 준수하는 타입의 값을 통해 표현된다.
고차 함수(Higher-order function)는 '다른 함수를 전달인자로 받거나 함수실행의 결과를 함수로 반환하는 함수'를 뜻한다.