[SwiftUI] @State, @Binding 프로퍼티 래퍼를 사용하는 이유와 예제 코드
상태 프로퍼티 상태 프로퍼티(state property)는 상태에 대한 가장 기본적인 형태이며, 뷰 레이아웃의 현재 상태(예를 들어, 토글 버튼이 활성화되었는지 여부, 텍스트 필드에 입력된 텍스트, 또는 피커...
[Swift] 스위프트 에러 핸들링 방법 (defer 구문 사용은?)
앱을 통제할 수 없는 상황은 언제든지 발생할 것이다. 예를 들어, 활성화된 인터넷 연결을 기반으로 동작하는 앱은 아이폰 디바이스가 네트워크 신호를 잃는 것을 제어할 수 없으며, 사용자가 비행기 모드(airplane mode)를 활성화하는 것도 막을 수 없다. 앱이 해낼 수 있는 것은 그러한 에러를 확실하게 처리하도록 구현하는 것이다. 예를 들어, 앱을 계속 사용하려면 활성화된 인터넷 연결이 필요하다는 것을 사용자가...
[Swift] 스위프트 딕셔너리 초기화 및 항목 접근과 갱신방법 : removeValue(forKey:) 메서드
딕셔너리는 키-값(key-value) 쌍의 형태로 데이터를 저장하고 관리할 수 있게 해준다. 딕셔너리는 배열과 비슷한 목적의 작업을 실시하지만, 딕셔너리에 저장된 각 항목은 연관된 값을 참조하고 접근하는 데 사용되는 유일한 키(정확하게 말하자면, 키는 특정 딕셔너리 객체에서 유일하다)와 연결되어 있다는 점이 다르다. 현재는 String, Int, Double, 그리고 Bool 데이터 타입만 스위프트 딕셔너리에 키로 사용할 수 있다. 스위프트 딕셔너리 초기화 딕셔너리는 순서가 없는 단일 컬렉션에 여러 값을 담기 위해 설계된 특별한 데이터 타입이다. 딕셔너리에 있는 각 항목은 키(key)와 그와 연관된 값(value)으로 구성된다. 키의 데이터 타입과 값 항목 타입은 타입 어노테이션(type annotation)을 이용하여 구체적으로 지정되거나 타입 추론(type inference)을 이용하여 컴파일러가 식별하게 한다.새로운 딕셔너리는 다음 구문을 이용하여 생성 시에 값들의 컬렉션으로 초기화할 수 있다(이것을 딕셔너리 리터럴(dictionary literal)이라고 한다). var 변수명: [키 타입: 값 타입] = [키1: 값1, 키2: 값2 .... ] var bookDict = ["100-432112" : "Wind in the Willows", ...
[Swift] 스위프트의 배열 초기화,추가,삭제 방법 및 예제 코드 (.count, .isEmpty, .shuffled, .append 등)
스위프트 배열 초기화 다음 구문을 이용하면 배열을 생성할 때 값들을 갖도록 초기화할 수 있다. 이것을 배열 리터럴(array literal)이라고 부른다. var 변수명: [타입] = [값1, 값2,...
[Swift] 스위프트 프로퍼티 래퍼 @propertyWrapper 지시자 사용방법 및 예제 코드
프로퍼티 래퍼는 기본적으로 연산 프로퍼티의 기능을 개별 클래스와 구조체와 분리할 수 있게 하며, 앱 코드에서 재사용할 수 있게 한다.
다음과 같이 도시 이름을 저장하는 String...
[Swift] 스위프트 익스텐션(extension) 정의 및 예제 코드
스위프트 클래스에 새로운 기능을 추가하는 또 다른 방법은 익스텐션(extension)을 이용하는 것이다. 익스텐션은 하위 클래스를 생성하거나 참조하지 않고 기존 클래스에 메서드, 초기화(initializer), 그리고 연산 프로퍼티와 서브스크립트(subscript)...
[Swift] 스위프트 클래스 선언방법(프로퍼티, 인스턴스 및 타입메서드 정의,set,get, protocol, self 등)
새로운 스위프트 클래스를 선언할 때 새롭게 만드는 클래스가 어떤 부모 클래스(parent class)에서 파생되었는지를 지정하고 클래스에 포함할 프로퍼티와 메서드를 정의한다. 새로운 클래스에 대한 기본 구문은 다음과...
[Swift] 스위프트 함수 선언하는 방법과 클로저(closure) : 매개변수 앞에 &는 언제 붙이는가?
스위프트 함수는 다음과 같은 구문을 사용하여 선언된다. func <함수명> (<매개변수 이름>: <매개변수 타입>, <매개변수 이름>: <매개변수 타입>, ... ) -> <반환 결과 타입> { ...
[Swift] 스프트의 switch 의 fallthrough 및 where 구문 예제
case문 구문결합하기 때로는 서로 다른 매칭(case)에 대해 동일한 코드가 실행되어야 하기도 한다. 이럴 때는 각각의 일치하는 경우들을 공통으로 실행될 구문과 묶을 수 있다. 예를 들어,...
[Swift] 스위프트 guard 구문 사용 예제
guard 구문은 불리언 표현식을 포함하며, true일 때만 guard 구문 다음에 위치한 코드가 실행된다.guard 구문은 불리언 표현식이 false일 때 수행될 else 절을 반드시 포함해야 한다. else...