Observable vs Observer 옵저버블 - 이벤트를 emit 옵저버 - 이벤트 처리 옵저버블과 옵저버를 통해 데이터 스트림을 통제할 수 있고, Operator를 통해 조작할 수 있음 근데 옵저버블은 이벤트에 대한 처리를 할 수 없고, 옵저버는 이벤트에 대한 처리만 가능함. -> 그래서 Subject나옴 Subject 위에서 말했듯이 emit과 Subscribe 둘 다 가능. 네 가지 종류가 있음 Publish, Behavior, Replay, Async 근데 UI의 경우는 에러가 날 일이 거의 없음. 그래서 핸들링도 딱히 필요없고, 이벤트에 대한 요소도 대부분 infinite RxSwift로도 충분했지만, UI를 더 잘 관리할 수 있는게 RxCocoa onNext를 전달할 수 있다는 것은, e..
한 동안 업데이트를 할만큼 코드가 작성되지 않았는데, 일단 몇 가지 수정한거라도 적용하고자 업데이트를 해봤다. 1.2.1에서 업데이트한 내용은 아래와 같다. 문자열 하드코딩 열거형으로 정리 규모가 작은 앱이기도해서 사실 크게 중요하진 않지만, 혹시모를 다국어 대응 등을 위해 정리해봄. 그리고 오타를 낼 수 있는 가능성도 없앨 수 있어 괜찮은듯. 백업, 복구 코드 개선 기존의 이름으로 판단하던 로직을 아예 제거함 백업 복구 코드 내에서 데이터 삭제 등의 코드를 작성하지않고 repository를 이용해서 가독성 개선 hud가 이상하게 떠서 코드 위치를 수정함. Remote Notification 적용 딱히 보낼 일은 없지만 수업에서 배운 내용이어서 적용해봄. 반려동물 등록화면 코드 개선 등록할 때 기존의 중..
Disposable 리소스를 정리 subscribe중인 Stream을 원하는 시기에 처리할 수 있도록 도와줌 항상 마지막에 dispose가 붙는 것을 알 수 있음 -> Observable은 모두 Disposable을 리턴하기 때문임 -> 이를 통해 Stream을 종료하고 실행되던걸 종료함. Observable의 next 이벤트 emit이 끝나면 disposed로 인해 자동으로 종료(리소스 해제)됨 -> 근데 인터벌의 경우를 생각하면 화면이 dismiss되더라도 disposed되지않음 -> 이때 deinit이 정상적으로 되면 disposed도 정상적으로 동작함 -> 순환참조 신경 잘 쓰기 만약 루트뷰컨트롤러인 경우에는 메모리에서 해제되지 않음 위의 두 경우는 직접 관리를 해줘야함. -> disposed 메..
Collection타입들은 sequence 프로토콜을 채택하고 있음 -> 한 번에 하나씩 단계별로 진행할 수 있는 값 목록 -> 반복문 생각하면될듯 Observable과 Observer 옵저버블은 이벤트를 보내고, 옵저버는 이벤트를 처리한다고 생각 youtube를 예시로 들어보면, 영상을 아무리 많이 올려도 구독하는 사람이 없으면 볼 사람이 없음 처리하는 이벤트가 영상 시청이라고 생각하면 될듯 Infinite Observable Sequences, Finite Observable Sequences 말그대로 무한과 유한 무한은 UI같은거 생각하면될듯. -> 데이터에 따라 UI변경이 일어나는건 계속해서 일어날 수 있음 유한은 파일 다운로드 생각하면됨. -> 1기가 파일을 다운받을때, 한 번에 다운되는게 아니..
ARC란? ARC란 Automatic Reference Counting으로 스위프트의 메모리 관리 기법이다. ARC에 대해서 살펴보기 전에 잠시 참조 타입에 대해서 생각해보자. 클래스의 인스턴스(참조 타입)를 생성하게 되면 Heap이라는 메모리 공간에 인스턴스의 타입 정보, 저장 프로퍼티의 값 등이 저장되고, Stack이라는 공간에 메모리의 주소가 저장된다. Heap에 대해서 간단히 얘기하자면.. 더보기 프로그래머가 직접 할당/해제를 통해 관리하는 메모리 공간 런타임 시에 결정되기 때문에 데이터의 크기가 확실하지 않을 때 사용 참조 타입의 값들은 전부 힙에 할당됨 하지만 직접 할당/해제를 하므로 스택보다는 속도가 느림 이후에 인스턴스가 더 이상 필요없게되면 사용하던 메모리 공간(힙)을 다시 사용할 수 있..
- Total
- Today
- Yesterday