뭐라도하는봉
close
프로필 배경
프로필 로고

뭐라도하는봉

  • 분류 전체보기 (55)
    • Retrospect (15)
    • I'm Domain (1)
    • I'm Tech (0)
    • Personal Study (0)
    • Apple Developer Acadamy (0)
    • iOS (38)
      • Swift (19)
      • SwiftUI (4)
      • UIKit (14)
    • Developer (1)
    • CS (0)
  • 홈
  • 태그
  • 방명록
[iOS/SwiftUI] ForEach 반복문의 \.id는 무슨 의미일까? - SwiftUI의 Identity

[iOS/SwiftUI] ForEach 반복문의 \.id는 무슨 의미일까? - SwiftUI의 Identity

SwiftUI에서 ForEach를 통해 반복되는 UI를 구성할때 `id: \.self`나 `id: \.id`와 같은 코드를 본 적이 있을것이다.나는 이 코드의 의미에 대해 궁금해졌다. 이번 글에서는 SwiftUI의 Identity(동일성)에 대해 알아보고, 다음 글에서는 KeyPath에 대해 알아보도록 하겠다.SwiftUI의 IdentitySwiftUI가 뷰를 그리는 방식은 다음과 같다.`@State`등의 Source of Truth가 되는 프로퍼티가 변화하면 body 프로퍼티가 다시 렌더링 되면서 View가 다시 그려진다. 즉, `@State` 변수의 값이 변경되면 뷰가 해당 값을 반영한 형태로 다시 그려지는 것이다.그렇다면, 어떻게 같고 다른것을 구분할 수 있는 것일까? 이 때 등장하는 개념이 Ide..

  • format_list_bulleted iOS/SwiftUI
  • · 2025. 4. 19.
  • textsms
[iOS/Swift] MVVM의 한계에 대한 고찰 - Massive View Model 해결법

[iOS/Swift] MVVM의 한계에 대한 고찰 - Massive View Model 해결법

기존의 MVC패턴의 한계를 극복하고자 MVP, 그리고 MVVM 패턴이 등장하게 되었다. MVC의 한계와 MVVM이 탄생한 이유는 여러가지가 있을 수 있겠으나, 대표적으로 다음의 이유들이 있었다.View와 Business logic간의 긴밀한 연관성에 의해 확장성, 유지보수에 어려움을 겪음추가로 View가 Model에 영향을 줄 수 있기 때문에, 터치 이상으로 복잡한 소통을 해야 할 경우 프로토콜 등을 통해 Controller에 책임을 위임함ViewController의 역할이 많아지면서 Controller가 비대해지는 Massive View Controller의 문제가 발생 이 외에도 여러 이유가 있을 수 있겠지만, 어쨌든 MVVM이 등장한 가장 핵심 이유는"View와 Model의 의존성 분리"라고 생각한..

  • format_list_bulleted iOS/Swift
  • · 2025. 2. 11.
  • textsms
[iOS/Swift] WMO와 Method Dispatch - class에 final을 붙이는 진짜 이유

[iOS/Swift] WMO와 Method Dispatch - class에 final을 붙이는 진짜 이유

일반적으로 더이상 상속되지 않을 class 앞에 `final`이라는 키워드를 붙이곤 한다.그렇게 하면 이 class는 더이상 상속되지 않을걸 알기에, 시스템의 입장에서 재정의를 위한 일련의 과정을 수행하지 않아도 되기 때문에 성능상에 이점이 있다고 알고 있었다. 그런데, 위의 문장으로는 뭔가 설명이 조금 부족해보인다.이번 글에서는 WMO와 Method Dispatch에 대한 설명과 함께 `final`을 붙이는 진짜 이유에 대해 알아보도록 하겠다.WMO: 전체 모듈 최적화xcode에 여러 개의 swift파일이 존재할 때 빌드를 하면, Swift는 각 파일을 개별적으로 컴파일한다.그런데 사실상 각각의 파일이 개별적으로 존재하는 경우는 잘 없다. 그러니까, 각 파일은 내부적으로 서로 연관이 있는 경우가 일반적..

  • format_list_bulleted iOS/Swift
  • · 2025. 1. 25.
  • textsms
[SwiftUI] 상호 작용 가능한 위젯 만들기

[SwiftUI] 상호 작용 가능한 위젯 만들기

이 글에서는 Apple Developer 사이트의 WWDC23 영상을 참고해 위젯에 애니메이션을 적용하는 방법과, Interactive Widget(상호 작용 위젯)을 만드는 법을 알아 볼 예정이다.영상은 크게 Ainmation과 Interactivity의 두 파트로 나눠져 있다. 해당 영상의 구성에 따라 글을 정리하겠다. Animation앱과 위젯의 차이일반적인 SwiftUI 앱withAnimation같은 모디파이어를 사용해서 State의 변경을 통해 애니메이션을 구동일반적인 SwiftUI 앱에서는 @State 변수를 이용해 View를 바꿀 수 있음위젯위젯에는 State가 없음대신 엔트리로 구성되는 타임라인을 생성: 엔트리는 특정 시간에 렌더링된 각기 다른 뷰와 대응하고, SwiftUI는 엔트리 간의 ..

  • format_list_bulleted iOS/SwiftUI
  • · 2024. 5. 12.
  • textsms
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (55)
    • Retrospect (15)
    • I'm Domain (1)
    • I'm Tech (0)
    • Personal Study (0)
    • Apple Developer Acadamy (0)
    • iOS (38)
      • Swift (19)
      • SwiftUI (4)
      • UIKit (14)
    • Developer (1)
    • CS (0)
최근 글
인기 글
최근 댓글
태그
  • #SwiftUI
  • #애플 디벨로퍼 아카데미
  • #MVVM
  • #UIKit
  • #MC2
  • #MC1
  • #Apple Developer Academy @ POSTECH
  • #ios
  • #Swift
  • #RxSwift
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바