본문 바로가기

iOS

(19)
Swift UI Component 02 01. TextField - 텍스트를 입력 받을 수 있는 컴포넌트 - @FocusState가 같이 사용할 수 있음.02. DatePicker - 날짜,시간을 선택할 수 있는 컴포넌트 - compact : 기본적으로 날짜의 축소된 형태 - graphical : UI나 디바이스에 따라 다름. - wheel : 휠 형태로 제공 - automatic :  - field : MacOS에서만 나옴 - stepperField : MacOS에서만 나옴03. ZStack & overlay - 한 화면에서 뷰를 겹칠때 사용됨. - overlay 현재 뷰를 기준으로 뷰를 겹치고 - ZStack 는 Z축을 기준으로 뷰를 겹친다.04. ScrollView - 좌,우측으로 스크롤 할 수 있는 컴포넌트05. Rectangle & ..
Swift UI Component 01 01. Text 1 - font 2 - bold 3 - lineLimit : 줄바꿈 관련 4 - foregroundColor  5 - background  6 - strikethrough : 글가운데 수평선 7 - monospaced : 고정폭02. Image 1 - resizable : 이미지 크기 조절 2 - aspectRatio : 가로세로 비율을 유지하면서 크기 조절 3 - renderingMode :  4 - scaledToFill :  5 - scaledToFilt : 03. Button 1 - action : 버튼의 동작 구현 2 - label : 버튼의 모양04. HStack / VStack05. Spacer : 간격 만들기06. TabView  1 - automatic : 시스템 따라서 ..
Swift Property Wrappers @State - SwiftUI에서 상태를 처리하는 방법 - 뷰의 상태를 저장하는 프로퍼티로 상태관리 주체는 해당 뷰 - 기본적으로 Private 선언이기에 다른 뷰와 값을 소통하려면 Binding을 이용 - 값이 변경될 때마다 UI업데이트 @Binding - 뷰와 상태를 바인딩 하는 방법 - 상위 @State 변수를 전달 받아 하위 뷰에서 캐치해 변화 감지 및 연결 - Binding은 다른 뷰가 소유한 속성을 연결하기에 소유권 및 저장 공간이 없음 @Published - ObservableObject를 구현한 클래스 내에서 프로퍼티 선언 시 사용 - @Published로 선언된 프로퍼티를 뷰에서 관찰 할 수 있음. - ObservableObject의 objectWillChage.send() 기능을 @Pu..
Swift Error 1. 에러 내용 : Error: this application, or a library it uses, has passed an invalid numeric value (NaN, or not-a-number) to CoreGraphics API and this value is being ignored. Please fix this problem.원인 resultString.text = "Insert String : \(nameTextFiled.text)!"해결         if let nameString = nameTextFiled.text{            resultString.text = "Insert String : \(nameString)!"        }
Swift List 사용해보기 import SwiftUI //리스트 데이터 모델struct MatchingList: Hashable{    let title: String    let titleNum: String} struct ListView: View {    //임시 데이터    @State var titleDataModel = [        MatchingList(title: "ㄱ", titleNum: "ㄴ"),        MatchingList(title: "ㄷ", titleNum: "ㄹ"),        MatchingList(title: "ㅁ", titleNum: "ㅂ"),        MatchingList(title: "ㅅ", titleNum: "ㅇ"),        MatchingList(title: "ㅈ", t..
Swift Stat 와 Binding @State는 SwiftUI에서 상태를 관리하기 위해 사용하는 속성 래퍼입니다. 뷰의 상태를 변경하고 해당 변경사항을 자동으로 반영할 수 있도록 도와줍니다.아래 예제에서 @State로 선언된 count는 버튼을 누를 때마다 증가하며, Text 뷰가 자동으로 업데이트됩니다.import SwiftUIstruct CounterView: View {    @State private var count = 0    var body: some View {        VStack {            Text("Count: \(count)")            Button("Increment") {                count += 1            }        }    }} @Binding은 ..
Swift Hashable Protocol ForEach는 식별 가능한 항목의 컬렉션을 반복하는 데 사용됩니다. 이를 위해 항목이 고유하게 식별될 수 있어야 합니다. Hashable 프로토콜을 준수하면 Swift가 자동으로 Equatable도 준수하게 됩니다. 이는 MatchingList 구조체의 인스턴스를 고유하게 식별할 수 있도록 합니다.  import SwiftUI struct MatchingList: Hashable{    let title: String    let titleNum: String} struct ListView: View {        var titleDataModel = [        MatchingList(title: "ㄱ", titleNum: "ㄴ"),        MatchingList(title: "ㄷ", ti..
Swift Day_11 제네릭 : 타입에 의존하지 않는 범용 코드 import SwiftUI struct Mygeneric: View {        @State var input = ""    @State var myStack = MyStackInt>() //Int, Float, String 등을 입력 하여도 문제 없다.        var body: some View {        VStack{            TextField("숫자를 입력해주세요" , text: $input)                        Button{                myStack.insertValue(input: Int(input) ?? 0 )                input = ""            } label..