본문 바로가기

분류 전체보기79

[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.
[iOS] TabBarItem으로 들어간 이미지가 제대로 표시되지 않을 때 발생한 문제 TabBarItem으로 넣었던 에셋들 중 프로필 이미지가 정상적으로 표시되지 않았다. 추가했던 Asset 집합으로 가서 Render As를 Always Template Mode로 걸어주어도 마찬가지였다. 원인 (약간의 의역이 있습니다) 기본적으로, tabBarItems는 사용자가 넣은 이미지를 그대로 표시하지 않는다. 대신에, alpha 값과 tints를 더한 새로운 이미지를 생성한다. 원본 그대로 표시하고 싶다면, 랜더링 모드의 UIIage.RenderingMode.alwaysOriginal을 사용하라. 해결 두 가지 방법이 있다. 코드로 잡아주기 Asset 자체에서 설정해주기 코드로 잡아주려면 UIImage를 생성할 때 아래처럼 해주면 되고 let profileIcon = UIImage(.. 2022. 4. 24.
[Swift] #Selector() 개념 - 메서드를 식별할 수 있는 고유의 이름을 말한다. - 구조체 struct 타입이며, 컴파일 시간에 지정된다. - UIKit 내부의 Objective-C 런타임으로 실행되는 메서드에서는 #Selector()를 파라미터로 전달 받는데, 이 때 (= 이 전달에) 필요한 인스턴스의 타입을 말한다. - 함수 표기형 방식 (= 인자 레이블을 콜론(:)으로 구분하여 나열함) 으로 전달된다. (일급 객체인 함수를 매개변수로 전달하기 때문 ...! ) 사용 예시 UI 요소에 Action 관련 @objc 함수를 Target으로 추가해줄 때 → #Selector() 타입 안에다가 넣어준다. 코드 예시 override func setTargets() { super.setTargets() [signInView.signU.. 2022. 4. 19.