공부방/iOS2019. 8. 9. 14:17When iOS notification click remove all that how to block ?

iOS Notification 클릭후 앱을 실행시 만약 Badge Number 를 0으로 초기화 한다면, 기존의 읽지 않은 Notification 목록들이 전부 사라지게 된다. 이를 방지 하기 위해 Badge Number 만 0으로 초기화 시켜주고 싶다면, UIApplication.shared.applicationIconBadgeNumber = -1 으로 초기화 시켜주면 클릭한 Notification만 사라지고 나머지는 그대로 남아있게 된다.

공부방/iOS2019. 7. 31. 15:34Tip of update data in swift realm

Realm 에서 제공하는 기능중에 Primarykey 가 같으면 자동으로 데이터를 업데이트 해주는 기능이 있습니다. 이말인 즉 where 절 같은 조건을 줄 필요가 없다는 소리 입니다. 데이터를 추가하면 자동으로 업데이트가 필요한지 새로 튜플을 추가할건지 자동으로 실행 합니다. 사용 방법은 아주 간단한데, let realm = try! Realm() try? realm.write { realm.add(data, update: .modified) } update: .modified 를 추가해 주면 됩니다. 단! Model에 따로 primaryKey 가 정해져 있지 않으면 Error 를 뿜어내므로 주의 하시기 바랍니다.

defualtIfEmpty and switchIfEmpty
공부방/RxKotlin2019. 7. 29. 15:08defualtIfEmpty and switchIfEmpty

defualtIfEmpty 어떠한 배출 값도 없을 때 또는 빈 프로듀서가 나타날때 Default 값을 배출한다. Code Observable.range(0, 10) .filter { it > 10 } .defaultIfEmpty(15) .subscribe{println("Receive $it")} 결과 예외 만약 필터링에 Observable.range(0, 10) .filter { it > 8 } .defaultIfEmpty(15) .subscribe{println("Receive $it")} 배출되는 값이 있을경우 .defaultIfEmpty(15) 는 출력 되지 않는다. 결과 switchIfEmpty 어떠한 배출값도 없는경우 Default Observable을 반환 할수 있다. Code Observa..

과거 데이터2019. 7. 29. 13:46과거 블로그

https://blog.naver.com/amper2421 아두이노 안드로이드를 이용한 프로젝트 : 네이버 블로그 블로그 이동 -> https://sweetcoding.tistory.com blog.naver.com 한창 장난감을 좋아하던 때 글을 썻던 블로그 입니다.

How to use realm browser (Realm browser 사용 방법 )
공부방/iOS2019. 7. 26. 21:03How to use realm browser (Realm browser 사용 방법 )

먼저 https://apps.apple.com/kr/app/realm-browser/id1007457278?mt=12 ‎Realm Browser ‎Realm Browser is a viewer and editor for .realm data store files. It allows developers implementing Realm in their apps to easily view and debug the contents of the .realm files their apps have created. Features: - View all of the objects in a .realm file apps.apple.com 맥용 Realm Browser 를 설치해 줍니다. 설치후 실행해 보면 아래와 같은..

공부방/iOS2019. 7. 26. 20:40Using Codable with Realm(Codable 과 Realm 동시 사용)

API를 통해 들어온 데이터를 Codable 을 통해 Model 에 Mapping 시키고 다시 해당 데이터를 Realm에 바로 넣는 방법에 대해 알아 보겠습니다. 예시 Json Data 구조 입니다. { "string_data": "18C", "array_data1": [ { "language_code": "en", "name": "English" }, { "language_code": "ja", "name": "Japanese" } ], "array_in_object": { "array_data2" : [ { "title": "test1", "name": "test1 입니다." }, { "title": "test2", "name": "test2 입니다." } ] } } 이제 모델들을 정의 해보겠습니다...

공부방/RxKotlin2019. 7. 25. 20:19What is BackPressure? (BackPressure 란?)

Observable(여기서는 생산자라 지칭 하겠다) 은 Observer(여기서는 소비자라 지칭 하겠다)의 소비량이 늦어질경우 , 즉 소비량이 배출량을 따라가지 못 할 경우 Out of memorry등 여러가지 문제점이 생기는데, 이 문제를 해결하기 위해 소비자와 생산자의 소통이 필요한데, 이러한 소통을 가능하게 하는게 BackPressure 다. 이를 통해 소비자가 생산자에게 배출에 대한 처리가 완료 될때까지 기다리라고 요청할 수 있으며, 소비자의 메시지 처리량이 포화상태가 되거나 응답하지 않는 것을 막을 수 있고, 생산자는 배출 속도를 줄일 수 있다. Observable과 Observer 는 따로 백프레셔를 지원하지 않는데, 대신 Flowerbles 와 Subscriber를 사용할수 있다. 이부분은 다..

AsyncSubject, PublishSubject, BehaviorSubject, ReplaySubject
공부방/iOS2019. 7. 24. 13:59AsyncSubject, PublishSubject, BehaviorSubject, ReplaySubject

AsyncSubject onComplete 호출 시점에 가장 마지막 값을 배출한다. PublishSubject 구독 시점에 이어지는 값들을 배출한다. BehaviorSubject 구독전 마지막 값과 구독후의 모든 값들을 배출한다. ReplaySubject 구독 시점과 상관 업이 모든 값을 다시 전달 한다. 참고 : http://reactivex.io/documentation/ko/subject.html

What is ConnectableObservable?
공부방/RxKotlin2019. 7. 23. 21:04What is ConnectableObservable?

ConnectableObservable 이란? Hot Observable 과 Cold Observable 둘다 사용 가능한 Observable 로서 기능은 다음과 같다. 1. Cold Observable Hot Observable 변환 가능 2. 한개의 Observable에 여러개의 구독을 할수 있으며, 기존의 Cold Observable 처럼 구독시 처음부터 아이템을 배출 하는게 아니라 이전에 호출된 모든 Observer 를 연결 하고 모든 Observer 에게 단일 푸쉬를 전달한다. fun simpleConnectableObservable() { val connectableObservable = listOf("Stream1", "Stream2", "Stream3", "Stream4").to..

observable.from and observable.just
공부방/RxKotlin2019. 7. 23. 18:07observable.from and observable.just

observable.from() 과 observable.just() 의 차이에 대해서 알아보자 observable.from은 내부의 아이템들의 요소를 각각 배출하고 observable.just는 내부의 아이템들을 각각 배출하는데 알기쉽게 결과로 보면 다음과 같다. 먼저 from 코드와 결과 이다. 코드 val fromObserver = object : Observer { override fun onComplete() { println("onComplete") } override fun onSubscribe(d: Disposable) { println("New Subscribtion = ${d}") } override fun onNext(item: String) { println("Next = $item"..

image