본문 바로가기

공부/Swift, algorithm10

[Swift] Hashable, Set, Dictionary Hashable 프로토콜이다. → 구조체, 열거형, String, Int, Float, Bool, Set 등에서 기본적으로 제공된다. 사용자 정의 타입에서 채택만 하면 → Set에 들어갈 수 있는 타입도 되고, Dictionary의 Key로도 들어갈 수 있다. 코드 예시 struct GridPoint: Hashable { var x: Int var y: Int } // 이렇게도 되고 var majayongSet = Set() // 이렇게도 된다 var majayongDic: [GridPoint: Int] = [:] Set Swift’s Collection (Array, Dictionary, Set)에 속한다. 컬렉션이 가지는 기본 메서드들을 사용할 수 있다. .contains(), .firstIndex(.. 2022. 4. 26.
[Swift] #Selector() 개념 - 메서드를 식별할 수 있는 고유의 이름을 말한다. - 구조체 struct 타입이며, 컴파일 시간에 지정된다. - UIKit 내부의 Objective-C 런타임으로 실행되는 메서드에서는 #Selector()를 파라미터로 전달 받는데, 이 때 (= 이 전달에) 필요한 인스턴스의 타입을 말한다. - 함수 표기형 방식 (= 인자 레이블을 콜론(:)으로 구분하여 나열함) 으로 전달된다. (일급 객체인 함수를 매개변수로 전달하기 때문 ...! ) 사용 예시 UI 요소에 Action 관련 @objc 함수를 Target으로 추가해줄 때 → #Selector() 타입 안에다가 넣어준다. 코드 예시 override func setTargets() { super.setTargets() [signInView.signU.. 2022. 4. 19.
타입 메서드와 프로퍼티 1. 인스턴스는 생성될 때마다 새로운 메모리 주소가 할당이 되는데, 타입 메서드는 메모리와는 상관 없이 클래스나 구조체의 메서드 자체가 불리게 된다. 2. 마찬가지로 타입 프로퍼티도 인스턴스에서 호출을 못하고 클래스나 구조체의 값 자체가 변해버리기 때문에, 모든 인스턴스의 타입 프로퍼티는 항상 같은 값을 갖게 된다 ~! 2022. 4. 14.