Skip to content

Instantly share code, notes, and snippets.

View thatswiftguy's full-sized avatar
🎯
Focusing

Yasir thatswiftguy

🎯
Focusing
View GitHub Profile
@thatswiftguy
thatswiftguy / spaceTravelingAnimation.swift
Created October 13, 2024 12:21
A space traveling animation with swiftUI.
struct StarFieldView: View {
@State private var stars: [Star] = []
var body: some View {
GeometryReader { geometry in
ZStack {
ForEach(stars) { star in
Circle()
.fill(star.color)
.frame(width: star.size, height: star.size)
@thatswiftguy
thatswiftguy / code.swift
Created July 31, 2024 10:25
Custom Made Progress View
struct ProgressLine: Identifiable {
var id: String = UUID().uuidString
var length: CGFloat
var gradient: LinearGradient
}
struct ContentView: View {
var body: some View {
VStack {
CircularRectanglesView()
@thatswiftguy
thatswiftguy / RecursionPrograms.swift
Created November 27, 2021 19:35
This gist contains few recursion programs
func binarySearchWithRecursion(arr: [Int], target: Int, s: Int, e: Int) -> Int {
if s > e {
return -1
}
if arr[s] == target {
return s
}
let med = e / arr.count
@thatswiftguy
thatswiftguy / Extension.swift
Created October 7, 2021 14:09
A Calendar Extension
extension Calendar {
public func getAllDates(
dateInterval: DateInterval,
dateComponent: DateComponents) -> [Date] {
var dates: [Date] = []
dates.append(dateInterval.start)
enumerateDates(startingAfter: dateInterval.start, matching: dateComponent, matchingPolicy: .nextTime) { date, _, stop in
guard let date = date else {
class ViewModel : ObservableObject {
@Published var weatherData : WeatherResponse?
@Published var showErrorAlert = false
@Published var alertDescription = ""
let city = "https://api.openweathermap.org/data/2.5/weather?q=delhi&appid={YOUR-API-KEY}&units=metric"
init(){
WeatherService.getData(city: city) { result in
enum NetworkError : Error {
case cityNotFound
case timeOut
}
class WeatherService {
static func getData(city : String , completionHandler : @escaping (Result<WeatherResponse, NetworkError>) -> ()) {
guard let url = URL(string: "\(city)") else {
class ViewModel : ObservableObject {
@Published var temp : Double
init(){
temp = 0
getData()
}
func getData() {
struct WeatherResponse : Decodable {
let name : String
let weather : [WeatherAPI]
let main : MainAPI
}
struct WeatherAPI : Decodable {
let description : String
}
class SomeClass: SomeSuperclass, MyProtocol, AnotherProtocol {
// class definition goes here
}
var myClosure = { (name : String) in
print("Mycoluuure\(name)")
}
myClosure("yasir")