Skip to content

Instantly share code, notes, and snippets.

View michaelevensen's full-sized avatar

Michael Nino Evensen michaelevensen

View GitHub Profile
import Foundation
struct EvolutionProposal: Codable {
var id: String
var title: String
var reviewStartDate: Date
var reviewEndDate: Date
enum CodingKeys: String, CodingKey {
@michaelevensen
michaelevensen / Example.swift
Created December 8, 2022 12:19 — forked from gromwel/Example.swift
Decoding and encoding JSON with dynamic keys.
import Foundation
struct Film: Codable {
let actor: String
let year: Int
let key: String
// Объявляем ключи только для тех которые внутри модели
enum CodingKeys: CodingKey {
case actor
@michaelevensen
michaelevensen / Calendar.swift
Created November 12, 2022 09:43 — forked from mecid/Calendar.swift
SwiftUI Calendar view using LazyVGrid
import SwiftUI
extension Calendar {
func generateDates(
inside interval: DateInterval,
matching components: DateComponents
) -> [Date] {
var dates: [Date] = []
dates.append(interval.start)
@michaelevensen
michaelevensen / RoundedPolygon.swift
Created October 19, 2022 16:45 — forked from dejager/RoundedPolygon.swift
A SwiftUI Shape that draws a polygon with a given number of corners and a corner radius.
//
// RoundedPolygon.swift
//
// Created by Nate on 2022-10-17.
//
import SwiftUI
struct RoundedPolygon: Shape {
class ResumableTimer: NSObject {
private var timer: Timer? = Timer()
private var callback: () -> Void
private var startTime: TimeInterval?
private var elapsedTime: TimeInterval?
// MARK: Init
@michaelevensen
michaelevensen / AVPlayer+Repeat.swift
Created May 10, 2019 19:45 — forked from junpluse/AVPlayer+Repeat.swift
AVQueuePlayer.repeatMode = .All
//
// AVPlayer+Repeat.swift
//
// Created by Jun Tanaka on 4/1/16.
// Copyright © 2016 eje Inc. All rights reserved.
//
import AVFoundation
private final class RepeatManager: NSObject {
@michaelevensen
michaelevensen / AudioPlayer.swift
Created April 23, 2019 07:03 — forked from netgfx/AudioPlayer.swift
A basic audio player with observers and extra features. Based on AVFoundation and AVQueuePlayer
//
// AudioPlayer.swift
//
// Created by MDobekidis
//
import Foundation
import AVFoundation
import UIKit
import Signals
import React from "react";
import dateFns from "date-fns";
class Calendar extends React.Component {
state = {
currentMonth: new Date(),
selectedDate: new Date()
};
renderHeader() {
//
// OneLineForEachSectionLayout.swift
//
// Created by Philipp Kinschel on 28/11/2016.
//
//
//
// very basic solution to layout one section in one line without linebreaks
// TODO: find name for the class
//
@michaelevensen
michaelevensen / mapViewController.m
Created February 15, 2017 10:27 — forked from ryanhanwu/mapViewController.m
Calculate Google Map length in meters with zoom level in #Objective-C (converted from #JavaScript) #iOS
- (void)mapView:(GMSMapView*)mapView idleAtCameraPosition:(GMSCameraPosition*)position
{
CLLocationCoordinate2D topLeft = mapView.projection.visibleRegion.farLeft;
CLLocationCoordinate2D bottomLeft = mapView.projection.visibleRegion.nearLeft;
double lat = fabs(topLeft.latitude - bottomLeft.latitude);
double mpp = cos(lat * M_PI / 180) * 2 * M_PI * 6378137 / (256 * pow(2, mapView.camera.zoom));
double distance = mpp * mapView.frame.size.width;
[[SearchManager shareInstance] distance: distance];
}