본문 바로가기

iOS24

[SwiftUI] Zstack 알아보기 Hstack, Vstack은 UIKit을 활용할 때에도 Horizontal stack, Vertical stack을 사용했던 기억에 비슷하다고 느꼈는데 Zstack은 처음 만났습니다. 그래서 이번 시간에는 Zstack이 무엇인지 알아보려고 합니다. Zstack이란? Zstack의 z는 x, y, z축을 말할 때의 z입니다. 우리가 3차원을 배울 때 z축이 등장하죠. 우리가 보는 화면은 가로, 세로 2차원인데 핸드폰 화면에 놓인 뷰 위에 다른 뷰를 쌓아가는 것을 z축이라고 생각하면 됩니다. 그렇게 생각하면 Zstack은 자식 뷰(child view)들이 화면에 스택처럼 쌓이는 구조를 의미합니다. 그말은 뒤에 나오는 자식 뷰가 그 전의 자식 뷰 위에 쌓이는 structure를 의미합니다. 아래 apple 문.. 2021. 9. 28.
[SwiftUI] modifier(_:) 알아보기 modifier(_:) 란? 예시를 통해 modifier() 메소드가 무엇인지 알아봅시다. 아래 코드에서 텍스트뷰 Text("Hello, world!")에 붙어있는 opacity(), boarder() 이 modifer() method에 해당합니다. struct ContentView: View { var body: some View { Text("Hello, world!") .opacity(0.5) .border(Color.red, width: 2) } }그렇다면 이렇게 뷰에 붙어있는 modifer() 메소드는 어떤 역할을 하느냐? 하면 공식문서에는 이렇게 쓰여있습니다. Applies a modifier to a view and returns a new view. 즉, modifier() 메소드는 뷰 모.. 2021. 9. 16.
[H.I.G] Typograpy - Dynamic Type apple의 Human Interface Guideline의 Typography 중 Dynamic Type 부분을 읽고 정리했습니다. Dynamic Type Dynamic Type으로 설정된 글씨는 글씨를 전반적으로 키우거나 줄일 때, 그에 맞춰서 글씨 크기가 변하도록 할 수 있습니다. 만일 어떤 글씨를 동적으로 조정하지 않고 10pt로 설정한 상태에서 개발을 한다면 사용자가 글씨를 크게 보고 싶어도 볼 수가 없습니다. 반면에 dynamic type으로 설정한 글씨는 글씨를 크게 보고 싶거나, 작게보고 싶은 사용자에게 더 높은 사용자 경험을 줄 수 있으니 앱을 기획, 디자인, 개발할 때 모두 참고하여 개발하는 것이 좋을 것 같습니다. H.I.G에서도 각 상황에 따른 폰트 크기가 나와있지만 눈으로 대강의 .. 2021. 9. 15.
[Swift] 메모리 참조, ARC, Strong Reference Cycle 이해하기 이번 글에서는 Swift 언어에서 메모리를 관리하는 방식인 ARC에 대해 알아보고, 메모리 관리 시 주의해야 할 메모리 누수를 피하는 방법에 대해 자세히 알아보도록 하겠습니다. -1. (일반론) Reference Counting - 메모리를 관리하는 방법 -2. ARC (Automatic Reference Counting) - Swift의 메모리 관리방법 -3. ARC에서 주의해야 할 메모리 누수문제 - Strong Reference Cycle -4. Strong Reference Cycle 문제를 예방하려면? 1. (일반론) Reference Counting - 메모리를 관리하는 방법 메모리는 한정적이므로 필요한 객체는 메모리에 올리고, 더 이상 사용하지 않는 객체는 메모리에서 해제하는 등의 메모리 관.. 2021. 9. 1.
Key-Value Observing 사용하기 요즘 MVVM을 개인 프로젝트에 적용하다 보니 observable pattern을 익혀나가고 있습니다. 그러다 보니.. Key-Value Observing 방식이 어떻게 사용되는지 간단히 이해하고자 간단히 정리해보았습니다. Key - Value Observing 이란? Key-Value Observing(KVO)는 프로퍼티나 다른 객체의 변화를 객체에 알릴 수 있는 Cocoa programming pattern입니다. NSObject를 상속받은 클래스에서만 Key-Value Observing을 사용할 수 있습니다. 앞으로는 Key-Value Observing을 KVO로 부르겠습니다. KVO를 사용하기 위해 프로퍼티에 Annotation 붙이기 KVO는 ObjectiveC의 런타임에 의존하기 때문에, @o.. 2021. 8. 25.