전체 글
-
removeArrangedSubview(_:) VS removeFromSuperview()iOS 2022. 11. 14. 17:59
안녕하세요. 그린입니다🍏 이번 포스팅에서는 오랜만에 UIKit을 다뤄볼까해요! 주제는 하위 구성된 뷰를 제거하는 방법으로 removeArrangedSubview(_:)와 removeFromSuperview()가 있습니다. 이 두 메서드를 알아보며 차이를 알아보겠습니다🙌 우선 그럼 removeArrangedSubview(_:)부터 알아보죠! removeArrangedSubview 배열된 상위 뷰의 스택 배열에서 파라미터로 넘어온 뷰를 제거합니다. func removeArrangedSubview(_ view: UIView) 선언은 위와 같이 해당 메서드에 상위 뷰로부터 제거할 하위 뷰를 인자로 넣어주면 됩니다. 해당 상위 뷰에서는 이제 더이상 제거되는 뷰의 위치 및 크기 등을 관리하지 않아요. 그렇지만 아예..
-
SwiftUI - 조건에 따라 overlay 해주기 (feat. overlayIf)SwiftUI 2022. 11. 10. 14:13
안녕하세요. 그린입니다🍏 이번 포스팅은 SwiftUI에서 조건 분기에 따라 컨텐츠 즉 뷰를 overlay On/Off를 해줄 수 있는 ViewModifier를 만들어 보겠습니다. SwiftUI에서 overlay와 ZStack이라는 기능들을 활용해 중첩된 뷰를 나타내줄 수 있습니다. 혹시 해당 개념이 궁금하신분들은 아래 포스팅을 먼저 참고하여 overlay 부분이라도 어떻게 사용되는지 보고 오면 도움이 됩니다🙌 https://green1229.tistory.com/173 Overlay & ZStack 안녕하세요. 그린입니다🟢 이번 포스팅에서는 Overlay와 ZStack에 대해 학습해보겠습니다🧑🏻💻 왜 알아야하죠? SwiftUI로 뷰를 구성하다보면 Overlay와 ZStack이 비슷한 기능을 해준다는 인..
-
Codility - MaxProductOfThreeAlgorithm 2022. 11. 9. 12:24
아래 문제는 코딜리티에서 제공하는 Sorting > MaxProductOfThree의 문제입니다🧑🏻💻 문제 제시 더보기 A non-empty array A consisting of N integers is given. The product of triplet (P, Q, R) equates to A[P] * A[Q] * A[R] (0 ≤ P < Q < R < N). For example, array A such that: A[0] = -3 A[1] = 1 A[2] = 2 A[3] = -2 A[4] = 5 A[5] = 6 contains the following example triplets: (0, 1, 2), product is −3 * 1 * 2 = −6 (1, 2, 4), product is 1 ..
-
SwiftUI에서 TapGesture를 통해 현재 Position 구하기SwiftUI 2022. 11. 7. 10:32
안녕하세요. 그린입니다🍏 이번 포스팅은 SwiftUI에서 TapGesture를 통해 현재 탭된 위치, Position을 구해보려합니다🙌 SwiftUI를 사용하면서 아직 UIKit에서 제공해주는 기능들이 많이 미비할때가 아주 많습니다😭 점차 발전하고 있고 추후 아주 쓰기 쉬울거라고는 확신하고 있지만 당장 지금 SwiftUI로 선언형 API들로만 구현을 하기에는 분명 무리가 있다고 느껴집니다. 이번 주제인 사용자가 탭 위치를 구하는 기능도 SwiftUI에서는 기본적으로 간단하게 제공해주지 않았습니다. iOS 16에서 기존 onTapGesture의 기능이 확장되기 전까지는요..🕺🏻 그렇기에 오늘은 iOS 16 이후 onTapGesture를 아주 간단히 알아보고 그 다음 이전 OS에서 오늘의 주제인 TapGes..
-
SwiftUI - ScrollViewReaderSwiftUI 2022. 11. 3. 17:28
안녕하세요. 그린입니다🍏 이번 포스팅에서는 SwiftUI에서 ScrollViewReader라는것에 대해 학습해보겠습니다🙌 SwiftUI를 사용하면서 ScrollView라는 View를 아주 많이 사용하게 됩니다. 이때 현재 스크롤링을 감지하거나 자동으로 스크롤되어 필요한 포인트로 위치 변경을 하는 등의 기능이 필요한 경우가 많죠🥲 이럴때 GeometryReader처럼 ScollView를 읽어 감지할 수 있는 녀석이 필요해요! 그럴때 사용하는것이 바로 이 ScrollViewReader입니다😀 그럼 자세히 어떤건지 알아보시죠🕺🏻 ScrollViewReader란? 위의 설명에서 조금 연장해보자면 ScrollViewReader는 하위 View, ScrollView를 스크롤하기 위해 프록시라는것과 함께 작업할 수 ..
-
TCA - Testing Effects (feat. unimplemented)TCA 2022. 10. 31. 11:30
안녕하세요. 그린입니다🍏이번 포스팅에서는 TCA에서 Effect를 테스터블한 환경으로 구성할 수 있는 unimplemented라는 메서드에 대해 알아보겠습니다🙌 umimplemented라는 뜻은 우선 implemented의 반대어죠.개발자들은 항상 구현을 하잖아요?구현이라는 단어인 implement는 익숙할거라 생각해요.그와 반대는 구현되지 않았다는 뜻의 unimplement입니다.(그냥 제가 요즘 영어 공부도 간간히 하려해서 주절주절 써봤네요..!) 결국 "구현되지 않은, 실행되지 않는" 뜻을 가진 메서드일거라 추측합니다. TCA를 사용하면서 리듀서에서 Effect를 방출하면서 흔히 아시는 구현으로 사용하잖아요?근데 이 Effect를 테스트 환경에서는 굳이 결과까지 테스트할 필요가 없이 넘어가는것..
-
TCA - fireAndForgetTCA 2022. 10. 27. 09:40
안녕하세요. 그린입니다🍏 이번 포스팅에서는 TCA의 fireAndForget에 대해 학습해보겠습니다🙌 우선 fireAndForget이라는 용어가 생소할 수 있습니다! 그냥 대충 추측을 해보면 "불지르고 잊어버리기"의 느낌으로 무언가 결과를 신경 쓰지 않을것 같은 느낌이 들어요. 실제로 군사적인 용어에서는 Fire And Forget이라고 해서 3세대 미사일 유도 방식 중 하나라고 하네요. 발사 버튼만 누르고 나면 사람이 더 이상은 미사일을 유도하거나 건드리지 않아도 된다는 뜻으로 자동으로 목표물을 찾아가 명중한데요🚀 https://ko.wikipedia.org/wiki/파이어_앤_포겟 파이어 앤 포겟 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 파이어 앤 포겟(영어: fire-a..
-
TCA - concatenate & merge (여러 Effect를 단일 Effect로 만들기)TCA 2022. 10. 25. 14:54
안녕하세요. 그린입니다🍏 이번 포스팅에서는 TCA의 Effect편입니다. Effect를 병합하는 대표적인 두개의 방법 concatenate와 merge에 대해 알아보겠습니다🙌 예전에 제가 포스팅으로 Rx를 학습하면서 concat과 merge에 대해 소개하면서 차이점을 알아본적이 있습니다. TCA에서 Effect라고 해서 다를게 없어요. Observable, Publisher랑 동일하게 작동합니다 원리는! 그렇기에 만약 TCA에서 낯선것처럼 느껴지시면 아래 포스팅을 보고 오시는것도 좋아요🙏🏻 https://green1229.tistory.com/166 concat & merge 안녕하세요. 그린입니다🟢 이번 포스팅에서는 concat과 merge에 대해 학습해보겠습니다🧑🏻💻 일단 두 단어의 사전적인 의미부..