본문 바로가기

분류 전체보기31

Karabiner 없이 맥 한영 전환 레이턴시 줄이기 설정 -> 키보드 -> 키보드 단축키 -> 입력소스 진입매핑된 두 키를 바꿔주면 된다. 2024. 6. 1.
Codable, CodingKey Codable과 CodingKey는 데이터 직렬화와 역직렬화를 간소화하는 도구이다. 여기서 직렬화(Serialization)란, 객체의 상태나 데이터 구조를 저장, 전송 가능한 형식(예: JSON, XML)으로 변환하는 과정을 말하고, 역직렬화는 그 역을 말한다. Codable Codable은 Swift의 표준 라이브러리에서 제공하는 프로토콜로, Encodable과 Decodable 를 모두 충족하는 타입을 말한다. Encodable은 Swift 객체를 외부 표현(e.g. JSON)으로 변환할 수 있게 해주며, Decodable은 외부 표현을 Swift 객체로 변환할 수 있게 해준다. 이들을 활용해서, 복잡한 데이터 변환 작업을 간단하게 처리할 수 있다. 인코딩 예시: import Foundation s.. 2024. 3. 13.
오류 처리 Error: 오류를 표현하기 위한 기본 프로토콜. Error 프로토콜을 채택하는 것 만으로도 해당 타입을 오류로 사용할 수 있게 된다. enum을 사용하는것이 일반적 enum DataParsingError: Error { case invalidData case missingRequiredField(String) case dataCorrupted } missingRequiredField옆의 (string)은 연관 값(Associated Values)으로, 열거형의 각 케이스에 추가적인 정보를 저장할 수 있게 한다. struct ParsedData { var name: String } func parseData(from dictionary: [String: Any]) throws -> ParsedData {.. 2024. 3. 10.
[RxGesture] 컨테이너 뷰와 내부 요소의 제스처 구분하기 모달창의 외부를 터치했을 때, 모달창이 닫히는 기능을 구현하려고 한다. 모달창의 외부 뷰(self.view)와 모달창의 제스처를 같이 구독해야 하는데 처음 접근했을 때, 모달창 내부의 요소를 탭해도 self.view가 탭된 것으로 간주되어 모달창이 닫히는 문제가 발생했다. class SearchPlaceViewController: UIViewController { let disposeBag = DisposeBag() @IBOutlet var modalContainerView: UIView! @IBOutlet var searchTextField: UITextField! @IBOutlet var seachResultTableView: UITableView! override func viewDidLoad() .. 2024. 3. 2.