- Total
목록전체 글 (257)
꿈꾸는리버리

저번 블로그 포스팅을 통해서 Closure가 무엇인지에 대해 알아봤다. 이번에는 Closure랑 좀 더 친해지는 ... 과정을 겪으려고 한다. ( 근데 아직 너무 어려움.... ^^ ) Closure의 Capture가 무엇인지, Closure가 reference type인지 몰랐다면..! 같이 알아보자구용 ~~ 🥹🔥✨🧚🏻♀️ Capturing Values Capturing Value를 살펴보기 위해 ... "the swift programming language"에서 한 예시를 가지고 왔다 ! 이 makeIncrementer 함수를 호출하면, 클로저가 반환된다. func makeIncrementer(forIncrement amount: Int) -> () -> Int { var runningTotal ..

SwiftUI로 개발을 하면서 swift의 부족을 많이 느꼈기 때문에 NC1 끝나고 MC2 본격 시작 전에 swift의 기본기를 다져야 겠다는 생각을 많이 했다. 그래서 이번 주말에 내가 뭘 놓치고 있었는지에 대해 고민한 끝에 closure 로 시작해서,, 고차함수 그리고 optional을 이번주에 공부하기로 했다..! ( 다음주에는 property 예제들로 computed property나 type property가 어디서 사용되는지를 우선 알아보고자 한다.) 적어놔야지 할 거 같아서 !! ㅋㅅㅋ .... 그래서 시작한 Closure 공부 !!! 공부하면서 map, filter 같은 거 쓸 때 $0, $1 요런 친구들을 많이 봤었어서 클로저를 진짜 너무 공부하고 싶었다..!! 만약 나와 같은 needs..

🌷 Xcode 시리즈 목차 1) Custom File Template 만들기2) 함수 설명 주석 달기3) Xcode 여러 버전 다운 받기4) Dev 용 앱 분리하기5) Xcode 단축기 모음 6) 커스텀 자동 완성 만드는 방법 (Code Snippet)7) xcodeproj vs xcworkspace커스텀 자동 완성 만드는 방법 (Code Snippet) 심심할 때마다 알아봤던,, 나의.. 단축키 모음집.. 단축키를 통해 더 많은 기능을 사용할 수 있고 ( 단축키 공부하면서 알게 된 기능들이 많음 ㅎㅎ ), 단축키를 사용함으로써 빠르게 해당 내용을 수행할 수 있었다 >+ 왜인지.. 잘하는 거 같은.. 느낌도 뿜뿜.. + 계속 업데이트 중... 입니다유 ~만약 추가됐으면 하는 게 있다면 댓글로 남겨주..

2주 !! 짧았지만 짧았던 (?) 나노 챌린지가 끝이 났다 ! 지난 번 MC1이 끝난 후 동아리 사람들과 회고 시간을 가졌었는데 내가 너무 고쳐야 하는 점만 적었던 거 같아서 이번에는 내가 잘했고 흡족했던 부분들도 함께 적어보기로 했다 ! ( KPT 회고 느낌 ? ) 우선은 앱 자랑 ! ㅋㅋㅋㅋ 이번에 나노 챌린지에서는 앱 Acar을 만들었다 ! Apple Developer Academy 여정을 위한 회고 앱 Acar은 회고 가이드를 제시해주어 의미있게 회고 할 수 있도록 돕고 Challenge 별로 회고를 모아서 기록할 수 있습니다 :) ⊕ 잘한 점들 ! 1 ) 모든 단계를 제대로 ! ( 대신 앱 크기가 작은..) 혼자하는 앱은 뭔가 부실할 거 같다는 생각이 많이 들었어서 MC1 때 밟았던 절차들을 놓..

Input & Event Modifiers에는 많은 녀석들이 있지만, 오늘은 onAppear vs onRecieve 이 두녀석을 비교해 보고자 한다. 1) onchange onchange 이 녀석은 View Life Cycle에 속해 있는 아이이다. 정의를 살펴보자면,, @inlinable public func onChange(of value: V, perform action: @escaping (_ newValue: V) -> Void) -> some View where V : Equatable 어떤 값이 변했을 때 action을 취하도록 하는 modifier이다. 너무 긴 running time의 action이 필요하다면 background queue를 dispatch 해야 한다. ( 이 부분은 나중..

이번 포스팅에서는 @EnvironmentObject에 대해 알아보려 한다. 만약.. @StateObject와 @ObservedObject에 대해 모른다면 이전 포스팅 내용을 보고 공부를 하고 오는 게 ..!! 왜 @EnvironmentObject가 필요? @StateObject와 @ObservedObject를 사용할 때에는 자식뷰 N에서 사용하기 위해서는 계속 자식뷰1->자식뷰2->자식뷰3 으로 ObservableObjec를 넘겨주는 작업이 필요했다. 근데 만약에 자식뷰2,3,4에서는 A가 필요없는데 자식뷰 5에서 필요하다면..? 그래도 자식뷰2,3,4를 거쳐 자식뷰5까지 A를 전달해줬어야 한다. 그래서 나타난 게 ! @EnvironmentObject ! 요 칭구는 그림에서 봐도 알겠지만, 중간 중간에 ..

UserDefault vs AppStorage : UIKit 에서 userDefault를 사용했더라면, swiftUi에서는 appStorage를 사용한다! (appStorage는 property wrappers) 새로 추가된 거라면 무언가가 좋아졌다는 의미겠쥬..? UIkit에서 유저디폴트를 저장하고 업데이트 하는 걸 개발자가 코드로 짰어야 했다면 (명령형) swiftUI에서는 그냥 appStorage 쓰면 알아서 해준다는 것 ! (선언형) UIKit 공부하신 분이 아니고 appStorage가 처음이라면 굳이 userDefault 사용법과 swiftUI 사용법을 비교하지는 않아도 ... 되지 않을까.. 우선 , appStorage가 무엇인지, 그리고 어떻게 써야 하는지를 알아야 한다고 생각합니다.. 그리..

오늘은 @StateObject와 @ObservedObject의 차이에 대해서 알아보려고 한다. @StateObject와 @ObservedObject의 등장 배경 기존의 @ObservedObject는 SwiftUI가 View를 다시 랜더링 할 때 의도하지 않은 초기화가 발생하는 문제가 존재했다. 그리고 이 문제를 해결하기 위해서 @StateObject가 나왔다 ! 다음과 같은 view를 만들어보면서 !! 둘의 차이와 언제 무엇을 사용해야 하는지 알아보자. ObservableObject -> ViewModel 만들기 우선 ObservableObject 프로토콜을 준수하여 ViewModel을 만든다. 이제 이 RiverViewModel을 바라보고 있는 객체는 @Published Attribute로 선언된 da..