iOS
-
RxSwift - Scan 연산자를 이용하여 무한 스크롤링을 구현하자iOS/mvvm + RxSwift 스터디 2019. 8. 6. 01:56
RxSwift Scan을 이용하여 무한 스크롤링을 함수형답게 구현하기. Scan은 전의 옵저블을 옵저빙하여 새로운 값을 방출하는 옵저버입니다. http://reactivex.io/documentation/operators/scan.html 무한 스크롤링에서는 두 옵저버가 필요합니다. 한 옵저버는 최초 로드 액션입니다. 이 옵저버는 피드를 여러 개 가져오는 액션입니다. 만약 전에 있던 피드가 있는데 로드 옵션이 또 불린다면, 이 옵저버는 전의 피드 값을 덮어씌웁니다. let loadObservable: Observable = PublishSubject().asObserver() 다른 한 옵저버는 추가 로드 옵션입니다. 이 옵저버는 기존에 있던 값에서 피드를 추가적으로 덧붙입니다. let loadMoreOb..
-
정보처리 산업기능요원을 생각한다면 반드시 숙지해야 할 사항들iOS 2019. 8. 2. 02:07
현재 저는 산업기능요원으로 복무하고 있습니다. 대학생 휴학 신분이고, 3급 현역입니다. 편입하고 복무하면서 나름의 우여곡절이 있어서, 공유하면 좋겠다 싶어서 산업기능요원에 대한 여러가지 팁을 작성했습니다. https://github.com/sesang06/awesome-alternative-military-service sesang06/awesome-alternative-military-service 정보처리 산업기능요원을 위한 쓸만한 정보들. Contribute to sesang06/awesome-alternative-military-service development by creating an account on GitHub. github.com 깃허브에 올려 두었는데, 생각나는게 있으면 계속 추가로..
-
FCM iOS SDK 5.16.0 부터 토큰을 정상적으로 보내지 못하는 버그가 있어서, 이슈가 해결되지 않은 버전으로 절대 릴리즈하지 않을 것을 권합니다.iOS 2019. 4. 21. 00:03
Firebase IOS SDK 금년 1월에 릴리즈된 5.16.0 버전부터 토큰이 정상적으로 전송되지 않은 치명적인 버그가 있고, 아직도 고쳐지지 않은 상태라 해당 버전 이상으로 절대 업데이트하지 않을 것을 권합니다. https://github.com/firebase/firebase-ios-sdk/issues/2438 가 해당하는 이슈인데, 이 이슈로 설명해드리자면 Firebase iOS 5.16.0 이상의 라이브러리로 빌드된 앱을 최초 설치할 시 (업데이트한 유저는 해당사항 안 뜹니다) 앱을 최초 설치할 때는 fcm 토큰이 정상적으로 작동하지만, 두 번째 앱 오픈부터 이 fcm 토큰으로 알림을 정상적으로 받을 수 없게 됩니다. 클라이언트 상의 버그니 서버에서 알림을 다시 받게 할 수 없을 뿐만 아니라, ..
-
RxSwift에서 combineLatest 와 withLatestFrom 차이 이해하기iOS/mvvm + RxSwift 스터디 2019. 3. 3. 17:27
RxSwift에서 combineLatest 와 withLatestFrom 차이 이해하기 참고 자료: https://medium.com/@martinkonicek/rx-combinelatest-vs-withlatestfrom-ccd98cc1cd41 http://adamborek.com/combinelatest-withlatestfrom-zip/ combineLatest 여러 소스 중에서 단 한 가지라도 이벤트를 방출하면, 각각 소스의 맨 마지막 값을 뽑아서 새로운 값을 방출합니다. disposables += Observable.combineLatest( view.onNameChanged(), view.onEmailChanged(), ::AccountInfo) .subscribe { accountInfo -..
-
Swift 에서 한글, 특수문자 엔드포인트를 적절히 인코딩하기iOS 2019. 2. 12. 00:50
Swift에서의 한글, 특수문자 엔드포인트를 적절히 URL Encoding하기 https url에 엔드포인트로 한국어를 사용했을 때, 습관적으로 이렇게 코딩하곤 합니다. import Foundation var url = URL(string: "https://sesang06.tistory.com/")! /// https://sesang06.tistory.com/ let koreanEndPoint = "헬로 월드!" url.appendPathComponent(koreanEndPoint) /// https://sesang06.tistory.com/%ED%97%AC%EB%A1%9C%20%EC%9B%94%EB%93%9C! 얼핏 보면 한글이 제대로 퍼센트 이스케이핑 되어있는 것처럼 보이지만, ''헬로 월드!'' 의..
-
-
iOS 네이밍 컨벤션iOS 2018. 12. 11. 10:43
https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/CodingGuidelines/Articles/NamingMethods.html#//apple_ref/doc/uid/20001282-BCIGIJJF Naming MethodsMethods are perhaps the most common element of your programming interface, so you should take particular care in how you name them. This section discusses the following aspects of method naming:General RulesHere are a few gene..
-
RxSwift 강좌iOS/mvvm + RxSwift 스터디 2018. 12. 7. 01:19
Testing rxSwift Codehttps://www.raywenderlich.com/7408-testing-your-rxswift-code Avoiding RxSwift Memory Leakshttps://medium.com/@chuck.krutsinger/avoiding-rxswift-memory-leaks-87885bd0023d RxMarblehttp://rxmarbles.com SwiftHub - RxSwift & MVVMhttps://github.com/khoren93/SwiftHub Infinite Scroll and Test Codehttps://gist.github.com/dtartaglia/10bc5eb821c752ad45f281c6f4e3034b