오랜만입니다!!! 지금까지 취준 + 회사일로 정신이 없었는데, 조금씩 적응도 되어가고 있고 남는 시간에 기록과 공부를 하기 위해 블로그를 다시 써보려고 합니다! 아마도 지금 회사에서 코딩을 하면서 다루는 SwiftUI와 TCA에 대해 앞으로 포스팅을 많이 할 것 같은데 오늘은 오랜만에 돌아온 기념으로 간단한 것부터 포스팅해보려고 합니다. (포스팅 내에서는 편한 말투로!) 많은 앱에서 어떤 버튼 혹은 뷰에 대한 설명을 해주기 위해 툴팁뷰 혹은 툴킷을 보여주는 것을 심심치 않게 볼 수 있다. 오늘은 이 부분을 구현해보려고 한다. 1. Tool tip이란? "사람들이 앱의 기능을 발견하는 데 도움이 되는 팁을 표시합니다." iOS 17부터 공식적으로 생긴 TipKit이라는 프레임워크를 보면 위와 같은 설..
이전글에서 가장 많이 사용하는 고차함수들인 map, filter, reduce에 대해서 알아봤다. 이번 글에서는 상대적으로 덜 사용하지만, 그래도 자주 사용하는 고차함수들에 대해 알아보려고 한다. CompactMap compactMap은'컨테이너의 각 요소에 조건을 지정하여 호출할 때, nil이 아닌 배열을 반환'하는 함수이다. compactMap을 설명하기 앞서 아래 가정을 한번 살펴보자. 우선 nil 값이 있는 학생들의 이름을 모아둔 배열이 있다고 가정할 때let students: [String?] = ["Greed", "Moana", "Zerom", nil, "Musk", nil]let iOSStudents = students.map { "iOS_" + $0 } 만일, map을 통해 각자의 이름 ..
이전글인 함수형 프로그래밍을 공부하면서 고차함수가 함수형 프로그래밍의 핵심 개념을 구현한다고 소개하였다. 오늘은 swift에서 고차함수가 무엇이 있는지 어떻게 작동하는지 알아보자!! 고차함수(High Order Functions)가 뭐야? 고차함수는 다른 함수를 인자로 받거나, 함수의 결과로 함수를 반환하는 함수를 말한다. 함수형 프로그래밍을 설명하면서 스위프트의 함수는 일급시민이라고 하였다. 따라서 스위프트는 함수를 함수의 전달인자로 전달할 수 있고, 함수의 결과값으로 반환할 수 있다. 고차함수 종류 Swift에서 고차함수는 종류가 많다.그 중에서 map, filter, reduce, compactMap, flatMap, forEach에 대해알아보려고 한다. Map 공식 도큐먼트의 정의대로라면..
함수형 프로그래밍이 뭔데?? 함수형 프로그래밍은 순수 함수와 불변성을 강조하는 프로그래밍 패러다임이라고 한다. 순수 함수? 불변성?? 이 부분은 뒤에서 더 자세하게 알아보자. 여하튼 함수형 프로그래밍을 사용하게 되면 코드의 가독성이 높아지고, 유지보수를 용이하게 해준다고 한다. 그럼 자세하게 알아보자. 순수 함수 순수 함수는 동일한 입력에 대해 항상 동일한 출력을 반환하며 부작용이 없는 것이라고 한다.받은 인자 외에 다른 외부의 상태에 영향을 끼치지 않고 리턴값 외에는 외부와 소통이 없다.순수함수로 함수형 프로그래밍을 할 경우 오류를 줄이고 안정성을 높인다. func plus(a: Int, b: Int) -> Int { return a + b} 예를 들어 위와 같은 함수가 있다고 해보면, a ..