[Swift] how to create multiple preview 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) {.. [Swift] 반복문에서 id: \.id 의 의미 1. id 앞에 \. 이 붙는 이유, 반복문을 이용해서 리스트를 만들때 Key를 참조하는법 List(landmarks, id: \.id) { landmark in LandmarkRow(landmark: landmark) } 하지만 Landmark 코드에 struct Landmark: Hashable, Codable, Identifiable { 다음과 같이 Identifiable을 추가해주면 id key path는 삭제해도 된다. Identifiable 프로토콜을 구현하는 경우 id 프로퍼티를 직접 지정하지 않아도 List에서 요소를 식별할 수 있게 되어, key path를 따로 지정할 필요가 없기 때문이다! List(landmarks) { landmark in LandmarkRow(landmark: la.. [Swift] load(_:) method (fetching JSON data) 뜯어보기 import Foundation //Create an array of landmarks that you initialize from landmarkData.json. var landmarks: [Landmark] = load("landmarkData.json") func load(_ filename: String) -> T { let data: Data guard let file = Bundle.main.url(forResource: filename, withExtension: nil) else { fatalError("Couldn't find \(filename) in main bundle.") } do { // Data(contentsOf:) 메서드를 사용하여 파일의 내용을 Data 객체로 읽어온다... [Swift] Swift 에서 Hashable, Codable은 뭘까? Protocol 알아보기 swiftui tutorial 의 예시 코드를 공부하다보면, Struct 뒤에 ~able 로 붙은 것들이 보인다. 이건 무엇이며 각각 어떤 역할을 할까? Hashable과 Codable은 스위프트 언어에서 프로토콜(Protocol)이다. 예시코드에서 각각의 의미 1. Hashable: Hashable 프로토콜은 객체를 고유한 해시값으로 매핑할 수 있도록 해주는 프로토콜이다. 해시값은 객체를 식별하는 데 사용되며, 해시 함수를 통해 계산된다. Hashable 프로토콜을 채택하면 해당 객체를 Set이나 Dictionary의 키로 사용할 수 있다. 또한, Hashable 프로토콜을 준수하는 객체는 집합(Set)과 같은 자료 구조에서 중복된 요소를 제거할 수 있다. Landmark 구조체의 인스턴스가 Hasha.. [SwiftUI] 헷깔리는 State, Binding, ObservedObject, EnvironmentObject 총정리 SwiftUI에서의 Single Source of Truth(SSOT, 단일 진실 공급원)란 데이터의 일관성과 정확성을 유지하기 위한 중요한 개념이다. 정보 시스템에 대한 SSOT(Single Source Of Truth) 아키텍처 또는 SPOT(Single Point Of Truth) 아키텍처는 모든 데이터 요소가 마스터(또는 편집)되도록 정보 및 모델 관련 데이터 스키마를 구성하는 관행이다. 한 곳에서만 정규 형식으로 데이터 정규화를 제공한다. 이 데이터 요소에 대한 모든 가능한 연결은 참조용이다. 데이터의 다른 모든 위치는 "source of truth" 위치를 다시 참조하기 때문에 기본 위치의 데이터 요소에 대한 업데이트는 전체 시스템에 전파되어 효율성/생산성 향상, 잘못된 불일치의 쉬운 방지 같.. [SwiftUI Tutorials] SwiftUI Essentials - Creating and Combining Views Creating and Combining Views | Apple Developer Documentation This tutorial guides you through building Landmarks — an app for discovering and sharing the places you love. You’ll start by building the view that shows a landmark’s details. developer.apple.com - SwiftUI 앱 수명 주기를 사용하는 앱은 앱 프로토콜을 준수하는 구조를 가짐. - 이 구조의 body 속성은 하나 이상의 Scene을 반환하고 표시할 콘텐츠를 제공. - @main 속성은 앱의 entry point를 식별. - 기본적으로 Swi.. Apple Developer Academy 2기 테크 부문 최종 선발이 되었다 이전 1 다음