Skip to content

Instantly share code, notes, and snippets.

import UIKit
var str = "Hello, playground"
protocol A {
func hello()
}
protocol B: A {
func hello2()
@aromal-sasidharan
aromal-sasidharan / ParamsAsTuple.swift
Last active October 25, 2019 05:11
Param grouping using tuple in swift
func passParam(student: (name: String, address: String, rollNo: String)?, param: (param3: String, param4: String, param5: String, param6: String)?) {
print("student is")
print(student ?? "Nodata")
print("param is")
print(param ?? "Nodata")
//: A UIKit based Playground for presenting user interface
import UIKit
import PlaygroundSupport
//
//class MyViewController : UIViewController {
// override func loadView() {
// let view = UIView()
// view.backgroundColor = .white
//
@aromal-sasidharan
aromal-sasidharan / CleanArc.swift
Last active February 9, 2021 16:25
Clean Architecture using Swift
protocol M {
func convert(stringInt: [String]) -> [Int]
}
protocol W {
func fetchDays() -> [String]
}
protocol I {
var worker: W? {get set}
extension ObservableType {
func flatMap<A: AnyObject, O: ObservableType>(weak obj: A, selector: @escaping (A, Self.E) throws -> O) -> Observable<O.E> {
return flatMap { [weak obj] value -> Observable<O.E> in
try obj.map { try selector($0, value).asObservable() } ?? .empty()
}
}
func flatMapFirst<A: AnyObject, O: ObservableType>(weak obj: A, selector: @escaping (A, Self.E) throws -> O) -> Observable<O.E> {
return flatMapFirst { [weak obj] value -> Observable<O.E> in
@aromal-sasidharan
aromal-sasidharan / UITextFieldReactiveExtension.swift
Created February 9, 2019 17:18
rx swift texfield validation and scanning
extension Reactive where Base: UITextField {
public func validateWithRegex(value:String) -> ControlProperty<String?> {
let original: ControlProperty<String?> = self.text
let values: Observable<String?> = original.map { self.validate(text: $0, regex: value) }
let valueSink: AnyObserver<String?> = original.mapObserver { $0 }
return ControlProperty<String?>(values: values, valueSink: valueSink)
}
import UIKit
@IBDesignable //desinagble in storyboard(view in storyboard)
class SampleView: UIView {
/*
// Only override draw() if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func draw(_ rect: CGRect) {
// Drawing code
}