본문 바로가기

Language/Swift

(3)
Swift map, filter, reduce 스위프트에는 함수형 프로그래밍에서 많이 사용하는 Map, Filter, Reduce를 사용할 수 있다. 세가지 컬렉션은 주로 배열의 요소들을 쉽게 접근 및 연산할때 많이 사용한다. 또한 참조한 배열의 값들을 직접 건드리는 일 없이 오로지 값 복사를 통해 새로운 배열을 반환하기 때문에 비동기처리에도 안전하게 사용할 수 있다. 1. map 먼저 맵 같은 경우에는 각 요소들을 접근하여 연산 처리를 할 때 주로 쓰인다. let numbers: [Int] = [0,1,2,3,4,5,6,7,8,9,10] let mappedNumbers = numbers.map { (myElement : Int) -> Int in return myElement * 10 } print(mappedNumbers) // [0, 10, 2..
Swift 클로저 ※ 이 글은 야곰님의 Swift 스위프트 프로그래밍 책을 참고하여 포스팅 했습니다. IOS 소스 확인하다가 클로저 때문에 애좀 먹어서 정리해놓으려고 한다. 클로저는 요즘 함수형 프로그래밍에서 많이 사용되는 문법으로 스위프트도 클로저를 사용할 수 있다. 말이 필요없다. 예제 소스 ㄱㄱ // Swift 라이브러리 Sorted() func sorted(by areInIncreasingOrder: (Element, Element) -> Bool) -> [Element] // 일반적인 함수 사용 func backwards(first : String, second : String) -> Bool { return first > second } let names = ["아이언맨", "캡틴아메리카", "엔트맨"] let..
Swift 구조체와 클래스의 차이 Swift에서는 구조체와 클래스를 사용할 수 있는데 선언 방법이나 기능이 비슷해 차이점을 미리 숙지하지 않으면 디버깅할 때 곤란해질거 같아서 차이점을 정리해보려 한다. 차이점 1. 구조체는 상속을 할 수 없다. 2. 타입캐스팅은 클래스의 인스턴스에서만 사용할 수 있다 3. 클래스는 참조타입, 구조체는 값 타입 1,2번은 헷갈릴 일이 별로 없을거 같아서 3번 위주로 알아보겠다. struct StructInfo { let strName : String var nNo : Int init(strName : String, nNo : Int) { self.strName = strName self.nNo = nNo } } class ClassInfo { let strName : String var nNo : Int ..