스닥
Playground
스닥
전체 방문자
오늘
어제
  • 분류 전체보기 (125)
    • 개발자 기본기 (1)
    • Swift 아키텍처 (6)
    • iOS 개발 (55)
      • Swift (12)
      • UIKit (17)
      • SwiftUI (9)
      • CoreData (9)
      • MusicKit (4)
      • WebKit (2)
      • 개발 환경 (0)
      • WatchOS (2)
    • 애플 개발자 아카데미 (4)
    • 막 쓰는 개발일지 (0)
    • 운영체제 (4)
    • 네트워크, 서버 (16)
      • Network (9)
      • Server (7)
    • 알고리즘 (8)
    • C언어 (7)
      • 함수 (7)
    • 하루 이야기 (23)

블로그 메뉴

  • GitHub계정
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • SWIFT
  • 너비 우선
  • Core Animation
  • 자료구조
  • 트리
  • swift performance
  • 깊이 우선
  • 알고리즘
  • 문자열 복사
  • core data
  • ip주소
  • docker
  • Server
  • ios rendering
  • dfs
  • struct class 성능
  • BFS
  • 서버
  • 도커
  • C 언어

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
스닥

Playground

[SwiftUI] Swift UI에 대한 첫인상
iOS 개발/SwiftUI

[SwiftUI] Swift UI에 대한 첫인상

2021. 11. 7. 16:50

 

 

 

처음에 swiftUI를 접했을 때는 기존 UIKit에서 사용했던 viewcontroller가 없어서 처음에 정말 당황습니다.

 

아직 매우 기초적이지만ㅋㅋ 공부를 하면서 느낀 swift UI의 가장 큰 특징! 은 저장된 변수가 거의 없다는 것입니다.

그때 그때 원하는 매개변수를 struct에 넘겨 주어서 view를 구성한다는 것이 storyBoard와 가장 큰 차이인 것 같습니다.

 

 

즉, 기존에는 컨트롤러가 중앙에서 함수들을 관리하면서 변수들을 저장하고, 넘겨주고 이런 역할을 해주는데,

swiftUI에서는 struct 하나가 view 하나의 레이아웃 구성과 함수들을 관리하기 때문에, view들이 독립적이라는 생각이 들었습니다.

 

 

이렇게 되면 데이터를 구조화하는게 매우 중요하고, sturct 구성을 깔끔하게 하는게 무엇보다 중요할 것 같습니다.

 

import SwiftUI

struct LandmarkList: View {
    var body: some View {
        NavigationView {
            List(landmarks) {
                landmark in NavigationLink {
                    LandmarkDetail(landmark: landmark)
                } label: {
                    LandmarkRow(landmark: landmark)
                }
                
            }
            .navigationTitle("Landmarks")
        }
    }
}

struct LandmarkList_Previews: PreviewProvider {
    static var previews: some View {
        ForEach(["iPhone SE (2nd generation)", "iPhone XS Max"], id: \.self) { deviceName in
            LandmarkList()
                .previewDevice(PreviewDevice(rawValue: deviceName))
                .previewDisplayName(deviceName)
        }
    }
}

 

 

'iOS 개발 > SwiftUI' 카테고리의 다른 글

[SwiftUI] @escaping에 대해서  (2) 2022.04.11
[SwiftUI] inout은 어떻게 작동하는가 (C언어의 Call by Reference와 비교)  (0) 2022.03.21
[SwiftUI] Generics 타입 제약 (Type Constraints) 다루기  (0) 2022.03.20
[SwiftUI] ForEach에서 \.self를 사용하는 이유와 id 중복 문제 해결 방법  (0) 2022.03.13
[SwiftUI] json parsing 방법  (0) 2022.03.10
[SwiftUI] View 가독성을 늘리는 3가지 방법 (View 쪼개기)  (0) 2022.03.10
[SwiftUI] View protocol과 body 변수에 대한 고찰 (some 키워드를 사용하는 이유)  (0) 2022.02.25
[Swift UI] @State에 대한 아주 얕은 고찰  (0) 2021.11.07
    스닥
    스닥
    https://github.com/feldblume5263

    티스토리툴바