Skip to content

Instantly share code, notes, and snippets.

View EvolverSwiftUI's full-sized avatar
🏹
iOS. Swift. SwiftUI ---> Don't Change. Must Evolve.

Sivaram Yadav EvolverSwiftUI

🏹
iOS. Swift. SwiftUI ---> Don't Change. Must Evolve.
View GitHub Profile
@EvolverSwiftUI
EvolverSwiftUI / LocalNotifications.swift
Created March 25, 2023 12:04 — forked from SwiftfulThinking/LocalNotifications.swift
Local Push Notifications for iOS (incl. convenience methods and async support)
import Foundation
import UIKit
import UserNotifications
import CoreLocation
enum NotificationTriggerOption {
case date(date: Date, repeats: Bool)
case time(timeInterval: TimeInterval, repeats: Bool)
case location(coordinates: CLLocationCoordinate2D, radius: CLLocationDistance, notifyOnEntry: Bool, notifyOnExit: Bool, repeats: Bool)
@EvolverSwiftUI
EvolverSwiftUI / SignInWithAppleHelper.swift
Created March 25, 2023 12:04 — forked from SwiftfulThinking/SignInWithAppleHelper.swift
Sign In With Apple for iOS (async support)
import Foundation
import CryptoKit
import AuthenticationServices
import UIKit
struct SignInWithAppleResult {
let token: String
let nonce: String
}
@EvolverSwiftUI
EvolverSwiftUI / SignInWithGoogleHelper.swift
Created March 25, 2023 12:03 — forked from SwiftfulThinking/SignInWithGoogleHelper.swift
Sign In With Google for iOS (async support)
import SwiftUI
import GoogleSignIn
import GoogleSignInSwift
struct GoogleSignInResult {
let idToken: String
let accessToken: String
}
final class SignInWithGoogleHelper {
@EvolverSwiftUI
EvolverSwiftUI / SignInWithGoogleHelper.swift
Created March 25, 2023 12:03 — forked from SwiftfulThinking/SignInWithGoogleHelper.swift
Sign In With Google for iOS (async support)
import SwiftUI
import GoogleSignIn
import GoogleSignInSwift
struct GoogleSignInResult {
let idToken: String
let accessToken: String
}
final class SignInWithGoogleHelper {
//Given an array, rotate the array to the right by k steps, where k is non-negative.
// Input: nums = [1,2,3,4,5,6,7], k = 3
// Output: [5,6,7,1,2,3,4]
// Explanation:
// rotate 1 steps to the right: [7,1,2,3,4,5,6]
// rotate 2 steps to the right: [6,7,1,2,3,4,5]
// rotate 3 steps to the right: [5,6,7,1,2,3,4]
//SOLUTION:
import Foundation
enum NetworkingError: Int, Error, LocalizedError {
// 100 Informational
case `continue` = 100
case switchingProtocols = 101
case processing = 102
case earlyHints = 103
import Foundation
func binarySearch(searchArray: [Int],target: Int, lower: Int, upper: Int) -> Int? {
if lower > upper {
return nil
} else {
var middle = (lower + upper) / 2
print(middle)
if searchArray[middle] == target {
@EvolverSwiftUI
EvolverSwiftUI / SignupVC.swift
Created November 22, 2022 04:33 — forked from pallavtrivedi03/SignupVC.swift
Dispatch Work Item code used in video - "Mastering Concurrency in iOS - Part 3"
import UIKit
import Combine
class SignupViewController: UIViewController {
@IBOutlet weak var signupLabel: UILabel!
@IBOutlet weak var errorLabel: UILabel!
@IBOutlet weak var usernameTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
private var cancellables = Set<AnyCancellable>()
@EvolverSwiftUI
EvolverSwiftUI / SplashVC.swift
Created November 22, 2022 04:33 — forked from pallavtrivedi03/SplashVC.swift
Dispatch Group code used in video "Mastering Concurrency in iOS - (Part 3)"
import UIKit
import Combine
class SplashViewController: UIViewController {
@IBOutlet weak var activityIndicator: UIActivityIndicatorView!
private var cancellables = Set<AnyCancellable>()
var launchDataDispatchGroup: DispatchGroup = DispatchGroup()
@EvolverSwiftUI
EvolverSwiftUI / .swiftlint.yml
Created November 18, 2022 06:12 — forked from candostdagdeviren/.swiftlint.yml
Sample SwiftLint file to apply best practices
disabled_rules: # rule identifiers to exclude from running
- variable_name
- nesting
- function_parameter_count
opt_in_rules: # some rules are only opt-in
- control_statement
- empty_count
- trailing_newline
- colon
- comma