본문 바로가기

분류 전체보기34

iOS Bluetooth 목표 iOS에서 블루투스의 전반적인 기능과 구현방식을 알아보고 이해하기. Core Bluetooth & BLE(Bluetooth Low Energy) iOS와 Mac App들은 Core Bluetooth framework를 사용하여 BLE 기능이 탑재된 기기와 통신한다. Ex) 심박수 모니터, 디지털 온도 조절계 등등.. Mac및 iOS 기기들은 MacOS 10.9, iOS 6버전 이상이라면 기능을 지원하기 때문에, 거의 모든 기기들이 기능을 가지고 있다고 할 수 있다. Core Bluetooth Framework는 저수준의 BLE protocol stack을 추상화 해주어 개발자로 하여금 쉽게 블루투스 기능을 개발하게 도와준다. * BLE란, 기존 블루투스의 단점이었던 전력 소모의 단점을 보완한 기술이.. 2022. 10. 7.
클래스의 초기화 iOS 개발을 하다보면 한번 쯤은 밑과 같은 코드를 사용한다. 클래스에서 이니셜라이저를 override(재정의)하는 코드인데 super.~~~를 쓰지 않으면 에러가 나는 경우가 많았다. 하지만.. 어떤경우에는 super.~~~코드를 빼도 컴파일 에러가 나지 않는 경우도 있었다. 그 이유 에 대해 알아보기 위해 Swift에서 클래스의 초기화가 어떤 방식으로 이루어 지는지 알아보았다. override init() { self.property = "property" super.init() } 클래스 초기화 Swift에서 클래스들의 초기화는 크게 2단계를 거친다. 클래스에 정의한 각각의 저장 프로퍼티에 초깃값이 할당됨. 새로운 인스턴스의 사용이 준비됐다고 알려주기 전에 저장프로퍼티들을 커스터마이징 할 수 있는.. 2022. 8. 7.
DiffableDataSource 알아보기. DiffableDataSource 얘는 대체 뭘까? The object you use to manage data and provide cells for a collection view. - 애플 TableView 혹은 CollectionView의 데이터를 관리하고 cell을 제공하기 위한 object. 근데 이미 우리는 dataSource를 사용하고 있지 않나? 이 친구는 어째서 나오게 된걸까? 탄생 배경 애플의 표현에 따르면 단하나의 Truth Data를 가질 수 있게 하기 위해서라고 한다. Truth Data가 뭔데?? 우리가 일반적인 DataSource를 이용해서 CollectionView를 구현할 때를 살펴보자. DataSource에 있는 함수들을 이용해서 우리는 View를 그리게 된다. 이 함수.. 2022. 7. 25.
Method Swizzling in iOS 기업채용공고를 보다가 Method Swizzling에 대한 지식을 요구하는 곳이 있었다. 공고에 대놓고 써져있는 용어인데 정말 처음 들어서 한번 알아 보려한다. Method Swizzling Method swizzling is the process of changing the implementation of an existing selector. It’s a technique made possible by the fact that method invocations in Objective-C can be changed at runtime, by changing how selectors are mapped to underlying functions in a class’s dispatch table. - ns.. 2022. 7. 10.