분류 전체보기 67

[Programming Study] MVVM 구성 패턴

MVVM (Model-View-ViewModel) 로 이루어진 Architectural pattern (설계, 구성 패턴) 에 대해서 알아보겠다. 주로 위키피디아, 마이크로소프트 문서를 참고하였다. Model-View-ViewModel Overview of the Model-View-ViewModel pattern used by .NET MAUI learn.microsoft.com Model–view–viewmodel - Wikipedia From Wikipedia, the free encyclopedia Software architecture design pattern Model–view–viewmodel (MVVM) is an architectural pattern in computer softwar..

[Swift] 함수 (Functions)

코딩의 꽃이라고 (개인적으로 생각하는) 함수! 함수란 무엇일까? 간단하게 이야기하면 x 가 들어가면 y 가 나오는 것이다. 결국 함수의 목적은 반환값에 있다고 생각한다. 어떠한 논리를 통해 x 를 y 로 바꿔주는 것이 함수이고, Swift 에서는 이를 정의하고, 호출하고 반환값을 사용하게 된다. Swift 에서는 x 를 파라미터라고 부르고 설명한다. Define and call functions, label their arguments, and use their return values 함수의 정의와 호출 (Defining and Calling Functions) 함수를 정의할 때 들어가는 x 의 타입과 반환되는 y 의 타입을 정의할 수 있다. 또한 그 함수를 사용하려면 함수를 구별할 수 있는 이름을 정..

[SwiftUI] @AppStorage 알아보기

보통은 앱을 껐다키면 앱에 저장된 데이터들을 따로 저장하지 않는 이상 사라지게 된다. SwiftUI 에서는 UserDefaults 를 통해 간단한 데이터를 앱을 삭제하지 않는 이상 저장할 수 있도록 지원한다. 이 UserDefaults 를 사용하는 방법 중 하나가 @AppStorage 이다. 이름부터 뭔가 앱에 저장을 해줄 것 같은 느낌이 난다. @AppStorage 사용방법은 정말 간단하다. @AppStorage("name") var userName: String? 형식으로 사용해 주면 된다. "name" 이라는 키로 userName 의 값을 저장한다는 뜻이다. 타입에서 String? 처럼 옵셔널 String 을 사용해 주는 이유는 처음에는 저장하는 값이 없기 때문이다. 초기값을 지정해 준다면 @App..

[SwiftUI] @FocusState 알아보기

@FocusState 는 아주 간단하다. 말 그대로 Focus 되어있는지 안되어 있는지를 관리한다. 보통 TextField 를 만들게 되면 유저들이 text 를 써넣을 때 클릭해야 하는데 @FocusState 를 활용하면 자동으로 선택되어 있게 만들 수 있다. TextField 만들기 우선 @FocusState 를 사용하기 위해서는 TextField 를 만들어 줘야 한다. 아래와 같은 코드로 간단한 TextField 를 만들어 보았다. 이제 간단하다 @FocusState 를 통해 Bool 타입의 textFocus 변수를 선언해 주고, 해당되는 TextField 앞에 .focused($textFocus) 를 입력해 주면 된다. 이제 textFocus 라는 변수는 TextField 가 선택되면 true 값이..

[SwiftUI] @EnvironmentObject 알아보기

SwiftUI 에서는 많은 변수들을 사용하게 된다. 그리고 뷰간에 많은 데이터가 오가게 될 것이다. 또한 어떠한 데이터는 앱 전체에 사용된다. 이때 유용한 것이 @EnvironmentObject 이다. 시작하기에 앞서 코드는 아래에서 설명했을 때 쓴 코드를 사용할 것이다, [SwiftUI] @Published, @ObservedObject 알아보기 시작하기에 앞서... 이 글은 @Published, @ObservedObject 을 아주~ 간단하게 설명한 글이다. 기본적인 것부터 알아두고 심도있게 들어가는것이 맞는 것 같다. (Combine 프레임워크, ViewModel... 등 공부가 필 codingnest.tistory.com @EnvironmentObject @EnvironmentObject 도 Ob..

[SwiftUI] Color Literal 코드안에서 색상표 보기

코딩을 하다보면 아래와 같이 귀여운(?) 기능이 있다. 바로 색상을 이렇게 골라줄수 있다는거? 사용방법은 아주아주 간단하다. Color(#colorLiteral( 까지만 입력하면 팔레트가 생긴다. 그렇게 만든 Color 는 아래와 같이 사용하면 된다. VStack 안에서 사용하고 싶었는데... 복사해서 붙여넣으니 아래와 같이 생긴다. 색상을 선언할때만 사용 가능한 것 같다.

[SwiftUI] @StateObject 알아보기

앞에서 @Published, @ObservedObject 를 공부했다. 그것과 바로 이어지는 것이 @StateObject 이다. [SwiftUI] @Published, @ObservedObject 알아보기 시작하기에 앞서... 이 글은 @Published, @ObservedObject 을 아주~ 간단하게 설명한 글이다. 기본적인 것부터 알아두고 심도있게 들어가는것이 맞는 것 같다. (Combine 프레임워크, ViewModel... 등 공부가 필 codingnest.tistory.com @ObservedObject 의 문제점 @Published 로 선언된 변수가 변경될 때 뷰를 자동으로 업데이트시켜주지만 문제가 있다. 화면 자체가 다시 업데이트된다면 변수는 초기화된다. 이게 무슨 소리인지 헷갈릴 것이다...

[SwiftUI] @Published, @ObservedObject 알아보기

시작하기에 앞서... 이 글은 @Published, @ObservedObject 을 아주~ 간단하게 설명한 글이다. 기본적인 것부터 알아두고 심도있게 들어가는것이 맞는 것 같다. (Combine 프레임워크, ViewModel... 등 공부가 필요하다) @Published 우선 @Published 에 대해서 간단하게 설명해보자. 우선 단어에 답이 있다. Publish 라는 단어의 뜻은 출판, 발행하다라는 뜻이 있다. @Published 를 통해 선언한 변수는 어딘가에 발행하거나 알려주는 그런 역할을 한다는 느낌? 을 가지면 좋다. 그렇다면 한번 코드를 통해 예시를 보자. 아래와 같이 Count 라는 class 를 만들어 주었다. 이 클래스는 count 라는 변수를 선언하고, plus() 라는 함수는 cou..

[SwiftUI] @Binding 알아보기

@Binding 이라는 Property Wrapper 에 대해서 알아보자. @Binding 은 @State 와 연결시켜 주는 역할을 한다. @State 는 간단하게 이야기하면 변경값에 따라 뷰를 업데이트시켜 주는 친구이다. 자세한 내용은 아래를 참고하면 좋다 :) [SwiftUI] @State 자세히 알아보기 SwiftUI를 쓰다 보면 @State를 변수 선언할 때 자주 쓰게 된다. 그렇다면 이 @State는 뭘까? 결론부터 이야기하자면 Property wrapper라고 한다. 속성을 감싼다고? 이게 무슨 뜻이지 또? Property wrapper? @State va codingnest.tistory.com 결론은 @Binding 은 값을 다른뷰로 전달하고 그 값을 변경할 수 있는 property wra..