swift - 고차함수 by yagom
전달인자로 함수를 전달받거나 함수실행의 결과를 함수로 반환하는 함수 map, filter, reduce map 컨테이너 내부의 기존 데이터를 변형(transform)하여 새로운 컨테이너 생성 let numbers: [Int] = 0,1,2,3,4] var doubledNumbers: [Int] var strings: [String] // for 구문 사용 doubledNumbers = [Int]() strings = [String]() for number in numbers { doubleNumbers.append(number*2) strings.append("\(number)") } print(doubledNumbers) // [0, 2, 4, 6, 8] print(strings) // ["0", "1..
swift - 익스텐션 extension by yagom
익스텐션은 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할 수 있는 기능이다. 기능을 추가하려는 타입의 구현된 소스 코드를 알지 못하거나 볼 수 없다 해도, 타입만 알고 있다면 그 타입의 기능을 확장할 수도 있다. 익스텐션으로 추가할 수 있는 기능: 연산 타입 프로퍼티, 연산 인스턴스 프로퍼티, 타입 메서드, 인스턴스 메서드, 이니셜라이저, 서브스크립트, 중첩 타입, 특정 프로토콜을 준수할 수 있도록 기능 추가 기존에 존개하는 기능을 재정의 할 수는 없다. extension 확장할 타입 이름{ 타입에 추가될 새로운 기능 구현 } 익스텐션은 기존에 존재하는 타입이 추가적으로 다른 프로토콜을 채택할 수 있도록 확장할 수도 있다. extension 확장할 타입 이름: 프로토콜1, 프로토콜2, ..