본문 바로가기

Programming

(6)
[SwiftUI] SwiftUI의 Lifecycle 이번에는 SwiftUI의 Lifecycle에 대해 알아보려 한다. UIViewController를 사용할 땐 아래와 같은 생명주기가 있었다. 나는 주로 viewDidLoad, viewWillAppear, viewDidAppear, viewWillDisappear, viewDidDisappear를 사용했던 것 같다. 하지만 SwiftUI를 사용하면서 기존의 UIViewController처럼 생명주기처럼 보이는 게 따로 없어서 이번 기회에 글을 작성해보려 한다. UIViewController이 궁금하다면 이 글을 참고하면 좋을 것이다. SwiftUI의 생명주기 항상 그렇듯 공식문서는 한번 확인해보자 Input and Events Input and Events | Apple Developer Documenta..
[Swift] Foundation, UIKit, Swift IOS 개발을 하다 보면 Foundation, UIKit을 주로 import 한다. Storyboard를 기준으로 swift파일을 만들 때 기본적으로 Foundation을 import 하는데 개발을 하다 보면 어디는 UIKit만 있고 어디는 Foundation만 있어서 이 둘의 차이점을 비교해 보기로 했다. 1. UIKit 먼저 Apple 공식 문서를 보는 습관을 기르기 위해 공식 문서부터 확인해봤다. UIKit 공식 문서 UIKit | Apple Developer Documentation The UIKit framework provides the required infrastructure for your iOS or tvOS apps. It provides the window and view archi..
처음 프로그래밍을 시작할 때 참고하면 좋은 것들 처음 프로그래밍을 시작한다면 무엇을 어떻게 시작해야 할지 몰라 먼저 학원부터 찾는 사람들이 많다. 개인적인 생각으론 프로그래밍을 배우는 데 있어 굳이 학원을 갈 필요가 없다고 생각한다. 우리에겐 구글과 유튜브 그리고 커뮤니티들이 있기 때문에 충분히 혼자서 할 수 있다. 그래서 오늘은 처음 프로그래밍을 하는 사람들에게 내가 추천하는 모든 것을 정리해보려 한다. 기초 먼저 다양한 분야에 대한 강의가 있는 사이트들을 정리하려고 한다. 솔직히 모든 것을 통틀어 Youtube가 가장 자료가 많고 좋은 것 같다. 하지만 이번 글에선 Youtube를 제외한 다른 곳을 추천해보겠다. 1. 생활코딩 한국에서 프로그래밍을 배우는 사람, 현직 개발자도 모두 알만한 사이트이다. 내가 개발을 하는 데 있어 가장 큰 도움이 되었..
[Swift] Triple 구현해보기 Kotlin에는 Pair, Triple과 같이 2개, 혹은 3개의 값만 받는 타입이 따로 있다. 자세한 건 문서를 확인하자. Triple - Kotlin Programming Language kotlinlang.org 위 사진처럼 다양한 타입의 3가지 값을 받는다. 이를 Swift로 구현해보자 한다. 시작하기 전 Swift에 있는 Tuple을 참고하면 좋다. 1. Triple은 first, second, third라는 프로퍼티를 가진다. 2. 각 프로퍼티들의 타입은 A, B, C이며 각각 아래와 같은 역할을 한다. 이를 Swift코드로 구현해 보았다. class Triple { var first: A var second: B var third: C init(_ first: A, _ second: B, _..
[SwiftUI] @State 이해하기 SwiftUI를 하다 보면 @State를 많이 사용하게 된다. 왜 @State를 사용하고 어떻게 사용하는지 알아보자. 먼저 @State를 사용하는 이유를 보자. 프로젝트를 만들면 볼 수 있는 코드이다. import SwiftUI struct ContentView: View { var body: some View { Text("Hello, World!") } } struct ContentView_Previews: PreviewProvider { static var previews: some View { ContentView() } } 여기서 볼 수 있듯이 뷰가 전부 struct로 되어있다. 즉 불변(immutable)이다. 그렇기 때문에 변수의 값을 마음대로 변경할 수 없다. 예를 들어 버튼을 누르면 1씩..
[SwiftUI] List에서 @Binding 전달하기 전체 소스코드 이전에는 아래오 같이 배열과 id를 주고 foreach 처럼 리스트를 만들었다. var body: some View { NavigationView { List(todos){ todo in NavigationLink(destination: DetailView(todo: $todo)){ TodoRow(todo: $todo) } } } } 하지만 @Binding으로 값을 넘기려니 $todo가 들어간 부분에 Use of unresolved identifier '$todo' 라는 에러 메세지가 뜬다. todos배열은 @State로 래핑 되어있는데 그것이 문제인 것 같다. 그래서 다른 방법을 찾아봤다. StackOveflow SwiftUI dynamic List with @Binding control..