I hereby claim:
- I am rollmind on github.
- I am rollmind (https://keybase.io/rollmind) on keybase.
- I have a public key ASDHVKuqfnxsGNBCmHuUiLoLqU4GdFa6tJUiK3tKYF95vgo
To claim this, I am signing this object:
| import Foundation | |
| import Security | |
| public struct SwiftSecurity { | |
| public enum SwiftSecurityError: Error { | |
| case error(SecStatus) | |
| } |
| // | |
| // WKWebView+Rx.swift | |
| // RxGround | |
| // | |
| // Created by eyemac on 2017. 9. 2.. | |
| // Copyright © 2017년 rollmind. All rights reserved. | |
| // | |
| import WebKit | |
| import RxSwift |
| final class RoutingModule { | |
| weak var rootViewController: UIViewController? | |
| var navigationController: UINavigationController? { | |
| if let navigation = self.rootViewController as? UINavigationController { | |
| return navigation | |
| } else { | |
| return self.rootViewController?.navigationController | |
| } |
| public func XCTRxHandle<Element>(_ description: String = "XCTAssertForRx", testcase: XCTestCase, timeout: TimeInterval = 1, queue: DispatchQueue = DispatchQueue(label: "Rx queue"), observable: Observable<Element>, trigger: @autoclosure @escaping () -> Void = {}(), value onNext: @escaping (Element?) -> Void = { _ in }, completed: @autoclosure @escaping () -> Void = {}(), error onError: @escaping (Error?) -> Void = { _ in }, result: (XCTWaiter.Result) -> Void = { _ in } ) { | |
| let expect = testcase.expectation(description: description) | |
| expect.assertForOverFulfill = false | |
| let bag = DisposeBag() | |
| queue.async { | |
| observable.subscribe({ (event) in | |
| switch event { | |
| case .error(let error): | |
| onError(error) |
| let scheduler = ConcurrentDispatchQueueScheduler.init(qos: DispatchQoS.userInteractive) | |
| let a = Observable<Int>.just(3).delay(3, scheduler: scheduler).debug("A") | |
| let b = Observable<Int>.just(2).delay(2, scheduler: scheduler).debug("B") | |
| // observable의 stream은 3을 전달. error 없음, XCTWaiter.Result는 completed | |
| XCTRxHandle(testcase: self, timeout: 5, observable: a, value: { | |
| XCTAssertEqual($0, 3) | |
| }, error: { | |
| XCTAssertNil($0) | |
| }, result: { | |
| XCTAssertEqual($0, .completed) |
| struct Be<Value> { | |
| let value: Value | |
| } | |
| protocol BeAddible { | |
| var be: Be<Self> { get } | |
| } | |
| extension Be where Value: Comparable { |
I hereby claim:
To claim this, I am signing this object:
| import Cocoa | |
| var str = "궉토abcd스234꾹타ㅎ하후훼의" | |
| extension Collection { | |
| var toArray: [Element] { | |
| return Array(self) | |
| } | |
| } | |
| protocol UnicodeScalarCreatable { |
Use these steps to debug components of the Swift toolchain. This allows you to see Swift's source code from the debugger – instead of disassembly. The debugger can also provide some variable names and values. This has been initially tested with libswiftCore.dylib.
These instructions were updated as of Swift 5.2.1.