Skip to content

Instantly share code, notes, and snippets.

View superhard's full-sized avatar
🎯
Focusing

Artem superhard

🎯
Focusing
View GitHub Profile
public extension Int {
public var seconds: DispatchTimeInterval {
return DispatchTimeInterval.seconds(self)
}
public var second: DispatchTimeInterval {
return seconds
}
@IanKeen
IanKeen / NSTimeInterval+Extension.swift
Last active October 16, 2019 04:32
Working Swiftly with NSTimeInterval
enum TimePeriod {
case Seconds(Int)
case Minutes(Int)
case Hours(Int)
var timeInterval: NSTimeInterval {
switch self {
case .Seconds(let value): return NSTimeInterval(value)
case .Minutes(let value): return NSTimeInterval(value * 60)
case .Hours(let value): return NSTimeInterval(value * 60 * 60)
@arturlector
arturlector / designated_initializer.md
Last active March 14, 2018 09:00
Что такое назначенный инициализатор (designated initializer)?

Что такое назначенный инициализатор?

Назначенный инициализатор (designated initializer) - это главный инициализатор(конструктор), все остальные методы
создающие класс вызывают этот метод.

Как выглядит назначенный инициализатор?

@soggybag
soggybag / CustomButton.swift
Created February 9, 2016 21:45
Custom Designable, Inspectable button with border and corner radius.
import UIKit
@IBDesignable
class CustomButton: UIButton {
@IBInspectable var borderColor: UIColor? = UIColor.clearColor() {
didSet {
layer.borderColor = self.borderColor?.CGColor
}
}
@IBInspectable var borderWidth: CGFloat = 0 {
@FranDepascuali
FranDepascuali / AssociatedObjects.swift
Last active April 7, 2022 18:37
Full implementation
private var AssociatedKey: UInt = 0
private final class AssociatedObjectBox<T> {
let value: T
init(_ x: T) {
value = x
}
}
@DenTelezhkin
DenTelezhkin / LoadableFromXibView.swift
Last active July 4, 2020 17:47
DEPRECATED. Please use https://github.com/MLSDev/LoadableViews. Create reusable views in XIBs and easily load them in another XIB, storyboard, or programmatically.
import Foundation
import UIKit
protocol NibDefinable {
var nibName: String { get }
}
extension NibDefinable {
var nibName : String {
return String(self.dynamicType)
class Singleton {
// singelton pattern
private static var privateShared : Singleton?
class func shared() -> Singleton {
// make sure we get an instance from the singleton queue
guard let uwShared = read(privateShared) else {
privateShared = Singleton()
return privateShared!
@KentarouKanno
KentarouKanno / Pop or Dismiss.swift
Last active September 23, 2021 13:22
UINavigationController Pop or UIViewController dismiss
// Check UINavigationController Pop or UIViewController dismiss
override func viewDidDisappear(animated: Bool) {
super.viewDidDisappear(animated)
let vcs = self.navigationController?.viewControllers
if ((vcs?.contains(self)) == nil) {
print("UINavigationController Pop")
} else {
@pachacamac
pachacamac / clap.html
Last active April 26, 2022 19:22
Clap Detection in JS
<html>
<head>
<title>AudioPlayground</title>
<style>* {box-sizing: border-box;}</style>
</head>
<body>
<h3>AudioPlayground</h3>
<p>If you're happy and you know it, clap your hands!</p>
<script>
var Recording = function(cb){
@youmee
youmee / PluralForm.swift
Last active January 16, 2020 14:20
Swift Russian Plural Form Function
/*
pluralForm(28, forms: ["год", "года", "лет"])
output: "лет"
*/
func pluralForm(number: Int, forms: [String]) -> String {
return number % 10 == 1 && number % 100 != 11 ? forms[0] :
(number % 10 >= 2 && number % 10 <= 4 && (number % 100 < 10 || number % 100 >= 20) ? forms[1] : forms[2])
}