Observable ReactiveX에서 옵저버는 Observable을 구독한다. Obseravable이 배출하는 하나 또는 연속된 항목에 옵저버는 반응한다. 이러한 패턴은 동시성 연산을 가능하게 한다. 그 이유는 Observable이 객체를 배출할 때까지 기다릴 필요 없이 어떤 객체가 배출되면 그 시점을 감시하는 관찰자를 옵저버 안에 두고 그 관찰자를 통해 배출 알림을 받으면 되기 때문이다. 출처 : reactivex.io/documentation/ko/observable.html Observable은 '관측가능한' 객체를 말합니다. Observable이 어떤 값을 방출하면 옵저버가 그 값을 확인하는 것 입니다. Just let observable1 = Observable.just(1) observab..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/m0pSV/btqPnaNl2Za/alLBXBhbHqB3bhZ1PoAjXK/img.png)
번역이 매끄럽지 못한 점 죄송합니다. 틀린 부분은 댓글로 알려주시면 감사하겠습니다. 원본 : developer.apple.com/documentation/widgetkit/keeping-a-widget-up-to-date timeline을 통해 위젯을 최신화할 수 있습니다. 위젯은 onscreen상태 일지라도 계속해서 작동하는것이 아닙니다. 위젯은 항상 작동하는 것은 아니지만 최신화 하는 몇 가지 방법이 있습니다. 예측가능한 이벤트를 위한 Timeline 생성하기 위젯은 TimelinePrivider을 통해서 위젯을 업데이트합니다. timeline은 TimelineEntry 객체들의 배열입니다. 각각의 entry는 날짜와 시간을 가지고 있으며 위젯에 표시할 추가적인 정보를 가지고 있습니다. 그리고 위젯이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/BPVkq/btqOxrQRZ0q/WBCjkq8q3s5snMtGbbHNQk/img.png)
view에서 다른 view로 전환하면서 데이터를 전달할 때 prepare을 사용하는데 prepare을 알아보겠습니다. 일단 스토리보드는 다음과 같이 만들어 놓았습니다. performSegue(withIdentifier:sender:) func performSegue(withIdentifier identifier: String, sender: Any?) segue를 실행할 때 사용합니다. 저는 버튼을 누를 때 segue를 실행하겠습니다. @IBAction func toNavi(_ sender: Any) { performSegue(withIdentifier: "navi", sender: nil) } @IBAction func toBasic(_ sender: Any) { performSegue(withIden..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/QdmKp/btqNWFgeIbP/uPPcoAGln9mE3Xk1zaCevK/img.png)
TableViewCell이나 CollectionViewCell은 공통점이 있습니다. 그건 바로 셀을 재사용한다는 건데요. 만약 30개의 셀에 각각의 다른 내용을 넣어야한다고 가정했을 때 30개의 셀을 만들어서 관리하면 그만큼 자원을 많이 가져가기 때문에 셀을 몇개만 만들어놓고 돌려씁니다. extension SecondViewController: UITableViewDataSource, UITableViewDelegate { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return 30 } func tableView(_ tableView: UITableView, cellForRowAt indexPa..