기본적으로 camelCase표기법을 사용한다.
기본값을 가지는 매개변수는 가장 마지막에 적어주는 것이 좋다함수를 호출할 때, 매개변수의 역할을 좀 더 명확하게 하거나 함수 사용자의 입장에서 표현하고자 할 때 사용한다.함수 중복 정의도 편리하게 할 수 있다. 전달인자 레이블까지 함수명으로 판단하기 때문에 greeti

값이 있을 수도 있고 없을 수도 있다.optional이 아닌 상수에 nil값을 할당하려고 하면 에러가 난다.nil의 가능성을 문서화하지 않아도 코드만으로 충분히 표현하가능하게 해준다.전달받은 값이 옵셔널이 아니라면 nil체크를 하지 않더라도 안심하고 사용하게 해준다.
C언어의 구조체보다 다양한 기능을 가진다.swift의 대부분의 타입이 구조체로 이루어져 있을 정도로 중요하다.연관된 몇몇 값들을 모아서 하나의 데이터 타입으로 표현하고 싶을 때다른 객체 또는 함수 등으로 전달될 때(즉, 참조가 아닌 복사를 원할 때)자신을 상속할 필요가
무명함수 Ramda식과 비슷한 개념이라고 이해해도 되나 조금 다름. 코드의 블럭을 의미하며, 함수는 이름이 있는 일종의 클로저이다. 변수, 상수 등으로 저장, 전달 인자로 전달이 가능하다. 일반 함수 클로저(closure) 클로저는 주로 함수의 전달인자로 많이
Property struct, class, enum에 type과 관련된 값을 정의할 때 쓴다. 저장 프로퍼티(stored property) 연산 프로퍼티(computed property) 인스턴스 프로퍼티(instance property) 타입 프로퍼티(type p
swift의 상속은 클래스, 프로토콜에서 가능하다.enum과 struct는 상속이 불가하다.swift는 다중 상속을 지원하지 않는다어떤 키워드로 상속을 막고 푸는지 알아보자.static을 사용한 타입 메서드는 재정의할 수 없다.final 키워드를 사용한 메서드와 프로퍼
swift의 타입 캐스팅은 instance의 타입을 확인하는 용도 또는 클래스의 인스턴스를 부모 혹은 자식 클래스의 타입으로 사용할 수 있는지 확인하는 용도이다.if 와 switch 문에서 활용많이 사용되지는 않으나, as를 사용하여 부모클래스의 인스턴스로 사용할 수
어플리케이션이 동작하는 도중에 생성하는 다양한 결과값을 동적으로 확인하고 안전하게 처리할 수 있도록 확인하고 빠르게 처리한다.assert함수는 디버깅 모드에서만 동작하며, 배포하는 어플리케이션에서는 제외된다.주로 디버깅 조건 검증을 위해 사용한다.실제로 예상한 값과 맞
특정 역할을 수행하기 위한 메서드, 프로퍼티, 이니셜라이저 등의 요구 사항을 정의하는 것struct, class, enum은 프로토콜을 채택해서 프로토콜의 요구사항을 실제로 구현할 수 있다.어떤 프로토콜의 요구사항을 모두 따르는 타입은 그 '프로토콜을 준수한다(conf
error 프로토콜과 (주로) 열거형을 통해서 오류를 표현한다.try?는 별도의 오류 처리 결과를 통보받지 않고오류가 발생하면 결과값을 nil로 돌려받을 수 있다.정상 동작 후에는 옵셔널 타입으로 반환값을 돌려받는다try!오류가 발생하지 않을 것이라는 강력한 확신을 가
전달 인자를 함수로 전달받거나, 함수 실행의 결과를 함수로 반환하는 함수컨테이너 내부의 기존 데이터를 변형하여 새로운 컨테이너 생성컨테이너 내부의 값을 걸러서 새로운 컨테이너로 추출컨테이너 내부의 콘텐츠를 하나로 통합