
ViewModifier ViewModifier는 프로토콜이고, 뷰 또는 다른 view modifier에 적용시켜 원래 value와 다른 버전을 만들 수 있다. 이걸 왜 쓰냐? → view에 적용할 수 있는 재사용 가능한 modifier를 만들고 싶을땐 ViewModifier 프로토콜을 채택해서 만들면 된다! View가 body를 요구하는 것처럼 ViewModifier는 body 메소드를 요구하므로 채택하기 위해서는 body 메소드를 정의해줘야 합니다. 이 코드는 새 modifier를 생성하기 위해 ViewModifier를 채택해 여러 modifier를 결합하는 코드입니다. struct BorderedCaption: ViewModifier { func body(content: Content) -> some..

Combine Combine이란? 이벤트 처리 연산자를 결합하여 비동기 이벤트 처리를 customize 하는 Framework이다. 간단하게 말하면 시간의 흐름에 따라 발생하는 이벤트 처리를 위한 API를 제공하는 Framework이다~ 근데 굳이 Combine을 써야하나? -> 컴바인을 사용하면 우리의 이벤트 처리 코드를 중앙화하고 nested closure나 convention-based callbacks 과 같이 문제가 될 수 있는 테크닉들을 제거해서 코드를 더 읽기 쉽고 유지 보수하기 좋게 만들 수 있다고 합니다 Combine에 대해 자세히 살펴봅시다. Combine은 Publisher, Operator, Subscriber로 이루어져 있습니다. Publisher는 Subscriber로부터 데이터..
Class와 Struct의 차이점이 무엇이냐고 물으면 대표적으로 Class는 참조타입이고 Struct는 값 타입이다 라고 말할 수 있습니다. 개발할때 어떤 상황에 Class를 사용하고 어떤 상황에 Struct를 써야할 지는 Class와 Struct의 공통점과 차이점을 알면 조금 더 잘 알 수 있을것 같습니다. 한번 Class와 Struct를 비교해 보겠습니다 Class와 Struct의 공통점 새로운 사용자 정의 데이터 타입을 만들어 주는 것 데이터를 용도에 맞게 묶고 싶을때 사용 값을 저장할 프로퍼티 선언 가능 함수 기능을 하는 메서드 선언 가능 생성자를 사용해 초깃값 설정 가능 extension을 사용해 가능 확장 가능 Protocol 채택해서 기능 사용 가능 차이점을 알아보겠습니다. Class 참조 ..
선요약: ,는 condition을 이어붙이는 용도로 쓰는 것이고 &&는 두개의 boolean expression을 파라미터로 받는 논리 연산자. condition을 이어붙인다고 했는데 이어붙여진 condition들을 condition-list라 부르는데 이 condition-list는 하나 이상의 condition으로 이루어진 것을 말합니다. 즉 하나거나 그 이상의 condition으로 이루어진 list인 것이죠. 그럼 condition과 expression의 차이는 무엇? condition이란 expression availability-condition case-condtion optional-binding-condition 이 네개 중 한개임 expression은? prefix expression i..

Protocol 표준 interaction behavior을 적용하고 view 계층 안에 있는 모든 버튼의 모양을 custom 하는 타입 즉 이 프로토콜을 이용하면 커스텀 버튼 스타일을 만들 수 있다! 현재 view 계층의 view style을 설정하기위해 buttonStyle(_:) modifier를 사용하고 표준 버튼 interaction behavior를 사용하는 button을 만들때 ButtonStyle Protocol에 준수하는 스타일을 특정하면 된다. 즉 custon interaction behavior을 하는 button을 만들때는 PrimitiveButtonStyle을 사용하면 됨. buttonStyle은 반환형이 someView이고 인자는 ButtonStyle이나 PrimitiveButt..

self 애플 공식문서에는 self를 이렇게 정의합니다. self는 모든 인스턴스들이 암시적으로 생성하는 프로퍼티라고합니다. self는 instance에서 자기 자신을 나타내는 property! self는 runtime, compiletime때 class나 struct의 instance를 칭함. EX) clas Point{ var x: Int var y: Int init(x: Int, y:Int) { self.x = x self.y = y } } Self Self type은 특정한 type이 아니고 타입의 이름을 반복해서 쓰는 대신에 현재 타입을 편하게 가리킬 수 있도록 해줌 즉 class, sturuct, enum에서 Self를 사용하면 그 타입을 지칭함. class SumperClass{ func f..

Swift 공식 문서에는 이렇게 정의되어 있습니다. 열거형은 관련된 값들의 그룹에 대한 공통 타입을 정의하여 코드 내에서 type-safe한 방식으로 그 값들을 사용할 수 있도록 해준다! 열거형을 어떤 방식으로 사용되고 어떻게 type-safe한 방식으로 사용하게 해주는가? 우선 사용법을 보면 열거형은 enum 키워드와 중괄호 안에 모든 정의를 위치시켜 나타냄 enum CompassPoint { case north case south case east case west } 이런 식으로도 가능하고 enum CompassPoint { case north, south, east, west } 이런 식으로도 가능함. var directionToHead = CompassPoint.west 이렇게 enum안 원소에..

Swift 공식문서에서는 property를 이렇게 정의합니다. 프로퍼티는 값을 특정 class, structure, enumeration과 연결시킨다. 저장 프로퍼티는 상수나 변수를 인스턴스 값으로 저장하고 연산 프로퍼티는 저장하기보다 값을 계산합니다. 연산 프로퍼티는 class, struct, enum 모두에서 사용될 수 있으나 저장 프로퍼티는 enum에서는 사용 할 수 없다. 저장 프로퍼티와 연산 프로퍼티는 거의 특정 타입의 인스턴스와 연관이 있으나 프로퍼티는 타입 자체와 관련이 있을수도 있는데 이러한 프로퍼티를 타입 프로퍼티라고한다. 즉 프로퍼티에는 3가지 형태가 존재함 Stored Property: 저장 프로퍼티 Computed Property: 연산 프로퍼티 Type Property: 타입 프로..
- Total
- Today
- Yesterday
- programmres
- swift
- C++
- 알고리즘
- 백준 20058
- 3000
- swea
- 단속카메라
- Xcode
- UIKit
- 도둑질
- 입국심사
- programmers
- 문자열 교집합
- 코딩테스트
- Algorithm
- 마법사 상어와 파이어스톰
- 8898
- 코테
- ios
- 3차원 농부
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |