This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
private func fetchRepos(matching query: String) { | |
githubService | |
.search(matching: query) | |
.replaceError(with: []) | |
.subscribe(on: DispatchQueue.global()) | |
.receive(on: OperationQueue.main) | |
.assign(to: \.repos, on: self) | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Published private var query: String = "" | |
private func fetchRepos(matching query: String) { | |
$query.flatMap { | |
self.githubService | |
.search(matching: $0) | |
.replaceError(with: []) | |
} | |
.subscribe(on: DispatchQueue.global()) | |
.receive(on: OperationQueue.main) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let subject = CurrentValueSubject<String, Never>("Hello") | |
subject.sink { value in print(value) } | |
subject.send("World") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
import BackgroundTasks | |
@UIApplicationMain | |
class AppDelegate: UIResponder, UIApplicationDelegate { | |
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { | |
BGTaskScheduler.shared.register( | |
forTaskWithIdentifier: "pl.snowdog.example.refresh", | |
using: DispatchQueue.global() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func applicationDidEnterBackground(_ application: UIApplication) { | |
scheduleAppRefresh() | |
} | |
private func scheduleAppRefresh() { | |
do { | |
let request = BGAppRefreshTaskRequest(identifier: "pl.snowdog.example.refresh") | |
request.earliestBeginDate = Date(timeIntervalSinceNow: 3600) | |
try BGTaskScheduler.shared.submit(request) | |
} catch { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import UIKit | |
import BackgroundTasks | |
@UIApplicationMain | |
class AppDelegate: UIResponder, UIApplicationDelegate { | |
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { | |
BGTaskScheduler.shared.register( | |
forTaskWithIdentifier: "pl.snowdog.example.train", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
opt_in_rules: | |
- force_unwrapping | |
- empty_count | |
- contains_over_first_not_nil | |
- fatal_error_message | |
- first_where | |
- number_separator | |
- operator_usage_whitespace | |
- trailing_closure | |
- toggle_bool |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Go to the build root and search up the chain to find the Derived Data Path where the source packages are checked out. | |
DERIVED_DATA_CANDIDATE="${BUILD_ROOT}" | |
while ! [ -d "${DERIVED_DATA_CANDIDATE}/SourcePackages" ]; do | |
if [ "${DERIVED_DATA_CANDIDATE}" = / ]; then | |
echo >&2 "error: Unable to locate SourcePackages directory from BUILD_ROOT: '${BUILD_ROOT}'" | |
exit 1 | |
fi | |
DERIVED_DATA_CANDIDATE="$(dirname "${DERIVED_DATA_CANDIDATE}")" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import SwiftUI | |
extension RandomAccessCollection { | |
func indexed() -> Array<(offset: Int, element: Element)> { | |
return Array(enumerated()) | |
} | |
} | |
struct ContentView: View { | |
@State private var items: [[String]] = [ |