iOS/Swift 4

Reduce, Map, Filter

개요 swift는 함수를 1급 객체로 사용하는 고차함수(Higher-Order-Function)를 Foundation 라이브러리에서 제공하고 있습니다. 대표적으로 Filter, Map, Reduce가 있습니다. Filter 클로저로 배열의 각 항목들을 비교하여 일치하는 결과물을 가진 새로운 배열을 반환한다. // Declaration func filter(includeElement: (T) -> Bool) -> Array 문제) 배열의 짝수를 리턴하는 filter문을 만드세요. 답) let newArr = oldArr.filter( {(num: Int) -> Bool in return num%2 == 0}) let newArr = oldArr.filter { $0%2 == 0 } Reduce 배열의 각 ..

iOS/Swift 2021.03.28

Swift로 함수형 프로그래밍 시작하기

개요 대학교 4년, C++을 사용하던 모 게임회사 근무 1년 3개월.. 제 개발자 경력의 2/3를 OOP 를 생각하며 보냈습니다. 그래서 그런지 Swift를 배우며 함수형 프로그래밍에 대해 공부를 하면 할수록 수박 겉핥기식밖에 되지 않는 기분이 계속 들더라구요. 이대로는 안되겠다 싶어서 드디어 돈을 쓰고 강의를 구매했습니다. 이 글은 강의 개요 부분에 적혀진 "객체지향 프로그래밍 패러다임 속에서 평생을 프로그래밍 해 온 사람"이 이 강의를 통해 함수형 프로그래밍을 어떻게 배웠는지 간단히 기록하는 글이 되겠습니다. 함수형 프로그래밍이라는 패러다임을 보고 개인적으로 (공부하기 귀찮아서) 삐딱하게 갖고있던 마음 속 질문들이 있는데, 야곰님이 이런 제 마음을 들여다보시기라도 한 듯 강의 플로우가 제가 갖고있던 ..

iOS/Swift 2021.03.28

[Swift] lazy 키워드

개요 메모리 관리에 대해 생각을 하다보니 C++에 lazy 키워드라는게 있었던거 같은데..생각이 들며 Swift에도 있겠지 하고 찾아보았습니다. 출처: abhimuralidharan.medium.com/lazy-var-in-ios-swift-96c75cb8a13a lazy var in ios swift This article explains the working of lazy var in swift.You must have some knowledge in closures. abhimuralidharan.medium.com iOS는 App의 사용량이 너무 높아지면 앱을 죽이기 때문에, 개발자는 처음부터 메모리 관리를 신경쓰며 코드를 짜는게 매우 중요합니다. 따라서 개발자는 실제로 필요한 경우가 아니라면, ..

iOS/Swift 2020.12.20

[Swift] weak, unowned, Retain cycle 톺아보기

개요 코드를 작성하다보면 이젠 정말 무의식적으로 클로저안에 [weak self] , [unowned self] 를 사용하는데요. 처음 이 키워드들에 대해 이해했을 때 메모리 사이클에서 순환 참조가..메모리릭이...하면서 대충 이해하고 넘어갔던적이 있어 이 기회에 제대로 정리를 해보려 합니다. 마침 좋은 글이 영문글이 있어 그대로 번역하면서 이해하도록 하겠습니다! 출처: www.thomashanning.com/retain-cycles-weak-unowned-swift/ Retain Cycles, Weak and Unowned in Swift Retain cycles and the usage of the keywords weak and unowned are a little bit confusing. In t..

iOS/Swift 2020.12.10