Skip to content

Instantly share code, notes, and snippets.

@PatrikTheDev
PatrikTheDev / SegTab.swift
Created July 20, 2019 11:47
SegmentedControl as tabs
//
// SegTab.swift
// SegmentedControlAsTabs
//
// Created by Patrik Svoboda on 20/07/2019.
// Copyright © 2019 Patrik Svoboda. All rights reserved.
//
import SwiftUI
@PatrikTheDev
PatrikTheDev / arrAsDict.swift
Last active April 24, 2020 08:22
Array as a dictionary
struct Model {
var id: String
var value: Int
}
var arrAsDict = [
Model(id: "foo", value: 2),
Model(id: "bar", value: 5)
]
@PatrikTheDev
PatrikTheDev / configure.swift
Created June 21, 2020 16:13
configure vs self-executing closure
// BAD
let idgaf: UILabel = {
let label = UILabel()
label.text = "huh"
return label
}()
// GOOD
let disIsGood = configure(UILabel() {
$0.text = "YAAY"
@PatrikTheDev
PatrikTheDev / Preferences.swift
Last active April 29, 2021 09:28
Observable Preferences (ugly implementation)
public class Preferences: ObservableObject { // It actually doesn't matter that it's an ObservableObject but there's no reason for it not to be
@UserDefault("workout-length") public var workoutLength = Defaults.workoutLength
@UserDefault("rest-length") public var restLength = Defaults.restLengh
@UserDefault("workout-phase-set-identifiers") public var workoutPhaseSetIds = [String]()
#if !os(watchOS)
@UserDefault("playlist-id") public var playlistID: String?
@CodableUserDefault("workout-communicator") public var workoutCommunicator: WorkoutCommunicators? // This is an example of a codable enum getting saved into UserDefaults
#endif