23.11.02 목
·
Study/🌱 SeSAC
💡 Disposable dispose를 호출하지 않으면 발생하는 경고 subscribe의 반환 값이 Disposable이다. 언젠가는 리소스가 정리되어야 한다는 의미 때문에 dispose를 호출하지 않으면 경고 문구가 나타나는 것이다. next 이벤트가 방출되면, completed와 disposed가 순서대로 실행되고 리소스를 정리한다. BehaviorSubject는 observable과 observer 역할을 모두 하기 때문에 언제 어떤 이벤트가 올지 모른다. 언제든 이벤트가 emit될 수 있는 상황이기 때문에 disposed 되지 않고, 메모리 상에 남아있게 된다. error 이벤트를 만나게 되면 바로 리소스 정리를 시작한다. 때문에 error 이벤트 전달 이후의 next 이벤트는 동작하지 않는다. ..
23.11.01 수
·
Study/🌱 SeSAC
✅ 15 버전 업데이트 사항 에셋에 있는 리소스 사용 시 .이름 으로 사용할 수 있다. 편해짐! ui 프리뷰 💡 RxSwift ✅ UISwitch 구현하기 UIKit 방식 구현 RxSwift로 구현 observable이 bool 상태를 전달하여 Observer가 스위치 상태를 변경 → Observable 값을 생성하고, 전달한다. → Observer 받은 데이터를 기반으로 상태를 변경한다. 만약, 2초 후에 데이터를 변경하고 싶다면? isOn 값을 바꿔주면 변경된 값이 반영되게 해야한다. observable은 데이터를 전달하는 것만 가능하고, 이벤트를 받아 처리할 수는 없다. ✅ Observable과 Observer 이벤트를 전달하는 observable과 이벤트를 처리하는 observer Observab..
23.10.31 화
·
Study/🌱 SeSAC
💡 알고리즘 ✅ 그래프 노드와 간선으로 구성된 자료구조 이를 통해 연결된 노드간의 관계를 표현할 수 있다. 노드(정점) ✔️ 인접행렬 장점: 노드의 연결 상태를 바로 알 수 있음 단점: 노드의 개수가 N이라고 하면 이 배열의 크기는 N*N이 된다. 특정 노드에 연결된 노드를 찾으려면 N번만큼 확인해줘야 한다. ✔️ 인접 리스트 노드별로 연결된 노드를 기록 장점: 실제로 연결된 노드의 정보만 알면 된다. 단점: i와 j 노드의 연결 상태를 바로알 수 없다. ✅ 트리 사이클이 없고 방향이 없는 그래프 특징: 두 점을 연결하는 경로는 유일하다. 루트 노드 - 부모가 없는 최상위 노드 부모 노드 - 루트노드 방향으로 직접 연결된 노드 자식 노드 형제 노드 - 같은 부모를 갖는 노드 리프 노드 - 자식이 없는 노..
[iOS/Swift] MapKit Annotation displayPriority 지정하기
·
iOS/UIKit&SwiftUI
같은 장소에 어노테이션이 두개가 표시될 때 나는 고정으로 있는 어노테이션 보다 검색 결과 어노테이션이 더 상단으로 보이게 하고싶었다.이전까지 나의 결과는검색 결과 어노테이션이 가장 뒤로 가버리는 맘에 안드는 결과가 나왔다.이 문제를 해결하기 위한 방법이 displayPriority이다!annotation view의 우선순위를 지정해주는 프로퍼티이다.MKMapViewDelegate의 viewFor에서 어노테이션을 등록할 때 우선순위를 지정해줬다.기본으로 나타나 있는 어노테이션에는 .defaultLow 값을, 검색 결과로 위에 보여줄 annotation에는 .defaultHigh 값을 주었더니 원하는 결과가 나왔다!.defaultHigh가 아니어도 디폴트 값인 .required 여도 같은 결과가 나온다. 사..