목록iOS (106)
大器晩成
일급객체(First-class Object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다.Switf의 클로저는 다른 프로그래밍 언어에서 클로저, 익명 함수, lambda(파이썬), Block(C언어 )과 유사합니다. 클로저의 기능은 함수와 동일하나, 형태가 조금 다릅니다.함수: 이름이 있는 코드 묶음 -> 다른 코드가 함수 이름으로 호출 클로저: 이름이 없는 코드 묶음 -> 굳이 이름이 없어도 호출할 수 있는 형태로 사용 가능//함수 형태func sayHello() -> String { return ...}//클로저 형태{ () -> String in return ...}동일한 기능의 함수와, 클로저가 있습니다. 클로저는 이름이 없는 듯이 함수의 func sayHello..
[대문자 self]Self 타입은 특정 타입이 아니라 해당 타입의 이름을 반복하거나 알지 않아도 현재 타입을 편리하게 참조할 수 있습니다.프로토콜 선언 또는 프로토콜 멤버 선언에서 Self 타입은 프로토콜을 준수하는 최종 타입을 나타냅니다.구조체 클래스 또는 열거형에서 Self 타입은 선언에 의해 도입된 타입을 참조합니다. 타입의 멤버에 대한 선언 내에서 Self 타입은 해당 타입을 참조합니다. 1. 타입을 선언하는 위치에서 사용합니다2. 타입속성/타입메서드를 지칭하는 자리에서 대신 사용이 가능합니다.extension Int { //타입을 선언하는 위치에서 사용가능 static let zero: Self = 0 // Self는 Int 타입 //static let zero: Int ..
[소문자 self]self 표현식은 현재 타입 또는 해당 타입의 인스턴스에 대한 명시적 참조입니다.초기화 구문, 서브스크립트, 또는 인스턴스 메서드에서 self는 현재 인스턴스를 참조합니다. 타입메서드에서 self는 현재 타입을 참조합니다.self 표현식은 멤버에 접근할 때 범위를 지정하는 데 사용되고 함수 파라미터와 같이 범위에 같은 이름의 다른 명수가 있을 때, 명확성을 제공합니다.1. 인스턴스를 가리키기 위해 사용class SomeClass { var greeting: String init(greeting: String) { self.greeting = greeting }}self.greeting은 현재 타입의 인스턴스인 greeting을 가리킵니다.self를 붙이지 않..
열거형은 특정 클래스 도는 구조체의 기능을 지원하기 위해 생성됩니다. 유사하게 더 복잡한 타입의 컨텍스트 내에서 허용하기 위해 구조체와 일반적으로 특정 타입과 함께 사용되는 프로토콜을 정의하는 것이 편리할 수 있습니다. 스위프트는 중첩된 타입을 정의할 수 있으며, 타입의 정의 내에서 열거형, 구조체, 그리고 프로토콜과 같은 타입을 중첩할 수 있습니다.class Week { struct DayOfTheWeek { enum Day { case monday case tuesday case wednesday case thursday case friday ..