일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 파일 시스템
- Algorithm
- COLOR
- 알고리즘
- 인프런
- core data
- UserDefaults
- 상호배제
- 비동기
- Apple Developer Academy
- SwiftUI
- 100 days of SwiftUI
- deadlock
- 가상 메모리
- Linked List
- forEach
- @state
- 데드락
- Swift
- decode
- 운영체제
- 프로세스 스케줄링
- Codable
- 동시성
- 오브젝트
- IOS
- 앨런
- async
- struct
- 동기화
- Today
- Total
목록SwiftUI (47)
기어가더라도 제대로
중요한 일이 발생하거나 사용자에게 알릴 필요가 있을 때 alert를 사용한다. alert를 사용하는 방식 뿐만 아니라 SwiftUI를 관통하는 개념이 하나 있다. View 는 프로그램 상태의 함수이다. 이게 무슨 말이냐 하면, 뷰가 처음 정의된 대로 정적인 모습을 유지하는 것이 아닌, 뷰가 프로그램의 내부의 상태 변화에 따라 결과값이 변하는 함수에 비유한 것이다. 이런 철학에 빗대어 보았을 때 alert 를 호출하는 방법이 재밌다. 기존 방식에선 "경고창을 보여줘" 라는 투의 명령을 사용했다면, 경고창을 생성하고 어느 조건에 보여줄 지 설정해 놓는다. 그리고 그 조건이 충족되었을 때 경고창을 띄우는 방식이다. 경고 조건 @State private var showingAlert = false 위 state..
모든 버튼은 저마다의 역할을 지니고 있다. 클로저나 함수로 역할 설정 가능 버튼이 눌렸을 때 실행하는 동작 Button("Delete selection") { print("Now deleting…") .... struct ContentView: View { var body: some View { Button("Delete selection", action: executeDelete) } func executeDelete() { print("Now deleting…") } } 버튼의 외형 설정 - role, style "버튼이 하는 일이 파괴적이다" 라고 역할을 부여 그에 따른 외형도 변함 style의 role과 조합하여 사용 가능 너무 많은 prominent button 은 사용하지 않는 것을 권장 La..
Color Color를 주면서 이런 식으로 이용할 수 있다. 이렇게도 할 수 있는데 위와 아래의 화면 구성은 차이가 없다. 이렇게 해도 차이가 없다. 다만 두번째 코드처럼 문맥이 존재하지 않아서 ".red" 이런 식으로 표현하지 않고, 전체 문맥을 명시한다. 위와 아래의 코드 차이는 색상이 Text 의 배경색으로 존재하느냐, 그 자체로 하나의 콘텐츠로서 존재하느냐의 차이다. Frame으로 범위를 제한한다. 최소 너비는 200, 다른 콘텐츠를 넘지 않는 이상 최대로 넓어질 수 있음 최대 높이는 200 Color.primary Color.secondary Color의 색조를 말하지 않고 용도를 이야기하는 경우 기기의 우선값에 따라 글의 색상을 표시 DarkMode 일 경우 글자는 흰색, 기본은 검정 Saf..