Skip to content

Instantly share code, notes, and snippets.

View Viveron's full-sized avatar
🎲

Viktor Shabanov Viveron

🎲
  • London, UK
  • 04:44 (UTC +01:00)
View GitHub Profile
@Viveron
Viveron / UIImage+Blur.h
Created August 10, 2018 09:00
UIImage box blur creation category
#import <UIKit/UIKit.h>
@interface UIImage (Blur)
- (UIImage *)boxBlur:(CGFloat)blurLevel depth:(NSUInteger)blurDepth;
@end
@Viveron
Viveron / example.swift
Last active May 22, 2019 19:10
Class design agreement
```swift
import UIKit
/*
Проектируемый класс условно делится на области:
1. Свойства
2. Иницализаторы
3. Методы
Правила для всех областей:
import UIKit
import LeadKit
import RxSwift
import RxCocoa
typealias TapTrait = Void
typealias TapRelay = PublishRelay<TapTrait>
typealias TapDriver = Driver<TapTrait>
extension PublishRelay where Element == TapTrait {
public typealias Closure<Value, Result> = (Value) -> Result
public typealias ValueClosure<Value> = Closure<Value, Void>
public typealias ResultClosure<Result> = () -> Result
public typealias VoidClosure = ResultClosure<Void>
public typealias ThrowsClosure<Value, Result> = (Value) throws -> Result
public typealias ThrowsValueClosure<Value> = ThrowsClosure<Value, Void>
public typealias ThrowsResultClosure<Result> = () throws -> Result
public typealias ThrowsVoidClosure = ThrowsResultClosure<Void>
//необходимо реализовать функцию позволяющую делать сдвиг массива
//@param swift - любое целочисленное число
//@param arr - любой целочисленный массив
//func arrayShift(_ arr: [Int], swift: Int) -> [Int]
//пример 1
//arrayShift([1,2,3,4,5], shift: 1)
//result : [5,1,2,3,4]
//пример 2
//arrayShift([1,2,3,4,5], shift: 2)
//result : [4,5,1,2,3]