Skip to content

Instantly share code, notes, and snippets.

@vishw33
vishw33 / CountryModel.swift
Created August 3, 2024 07:51
SwiftUI model
//
// CountryModel.swift
// Country_List
//
// Created by vishwas ng on 17/07/24.
//
import Foundation
import SwiftData
import UIKit
@vishw33
vishw33 / CombineFetcher.swift
Created December 30, 2020 08:25 — forked from stinger/CombineFetcher.swift
Combine - fetching data using URLSession publishers
import Foundation
import Combine
enum APIError: Error, LocalizedError {
case unknown, apiError(reason: String)
var errorDescription: String? {
switch self {
case .unknown:
return "Unknown error"
static func isValidUer(reasonString:String , Success: @escaping AuthSuccessBlock = { _ in })
{
var policy: LAPolicy?
let context = LAContext()
if #available(iOS 9.0, *)
{
/*
deviceOwnerAuthenticationWithBiometrics can be used when you want to authenticate user solely based on
bioMetric without reverting to PassCode if bioMetric fail
enum BioMetricSupported:String
{
case touchId = "Touch ID"
case faceId = "Face ID"
case none = "none"
}
@available(iOS 11.0, *)
private func supportedBiometricType () -> BioMetricSupported
{
static func isDeviceSupportedforAuth () -> Bool
{
let context = LAContext()
var policy: LAPolicy?
policy = .deviceOwnerAuthentication
var err: NSError?
guard context.canEvaluatePolicy(policy!, error: &err) else
{
return false
}
let reArrangedPersonByAge = personArray.arrangePersonsByAge()
reArrangedPersonByAge.map{print("Person-Rearranged-Age :- \($0.age)")}
let reArrangedPersonBySalary = personArray.arrangePersonsBySalary()
reArrangedPersonBySalary.map{ print("Person-Rearranged-Salary :- \($0.salary)") }
extension Array where Element == Person
{
func arrangePersonsByAge() -> [Element]
{
var arr = self
arr.sort { (a, b) -> Bool in
a.age > b.age
}
return arr
let person1 = Person(name:"Jhon" , age:40, salary: 932)
let person2 = Person(name:"david" , age:45, salary: 1876)
let person3 = Person(name:"jim" , age:30, salary: 1763)
let person4 = Person(name:"tom" , age:28, salary: 1527)
let person5 = Person(name:"Harry" , age:50, salary: 13344)
var personArray:[Person] = [person1,person2,person3,person4,person5]
personArray.map{print("Person-Age :- \($0.age)")}
struct Person
{
var name:String
var age:Int
var salary:Double
}
extension Array where Element == String
{
func totalCharacterCount() -> Int
{
return reduce(0, { $0 + $1.count})
}
func wordCount() -> Int
{
return reduce(0, {$0 + $1.components(separatedBy: " ").count})