Skip to content

Instantly share code, notes, and snippets.

@karthikgs7
karthikgs7 / Node.swift
Created September 7, 2020 19:11
LinkedList Node
class Node: ExpressibleByIntegerLiteral, ExpressibleByArrayLiteral {
var value: Int
var next: Node?
init(value: Int, next: Node? = nil) {
self.value = value
self.next = next
}
required init(integerLiteral value: Int) {
final class Node<Key: Hashable, Value> {
let key: Key?
let value: Value
var prev: Node?
var next: Node?
init(value: Value, key: Key?) {
self.value = value
self.key = key
}
@karthikgs7
karthikgs7 / ImageTextTableViewCell.swift
Created April 15, 2020 15:31
Simple UITableViewCell subclass with image and text. Resizes w.r.t. content.
public final class ImageTextTableViewCell: UITableViewCell {
private var _imageView: UIImageView!
private var _label: UILabel!
}
private extension ImageTextTableViewCell {
func setup() {
setupImageView()
@karthikgs7
karthikgs7 / TitledView.swift
Created January 7, 2020 13:37
Titled View
private final class TopTitledView<T: UIView>: UIView {
private var titleLabel: UILabel!
private let contentView: T
private let title: String
init(contentView: T, title: String) {
self.contentView = contentView
self.title = title
super.init(frame: .zero)
@propertyWrapper
struct UpperCased {
private(set) var value: String = ""
init(wrappedValue initialValue: String) {
self.wrappedValue = initialValue
}
var wrappedValue: String {
get { value }
import Foundation
import UIKit
extension UIStoryboard {
enum Storyboard {
case main
case order
var name: String {
import Foundation
import CoreData
public protocol Managed: class, NSFetchRequestResult {
static var entityName: String { get }
static var defaultSortDescriptors: [NSSortDescriptor] { get }
}
public extension Managed {
import Foundation
import CoreData
final class CoreDataManager: NSObject {
//mark:-
@objc static let sharedInstance = CoreDataManager()
//mark:- Private helper methods
private var masterContext: NSManagedObjectContext!
import Foundation
import CoreData
final class CoreDataManager: NSObject {
//mark:-
@objc static let sharedInstance = CoreDataManager()
//mark:- Private helper methods
private var masterContext: NSManagedObjectContext!
@karthikgs7
karthikgs7 / ScreenManager.swift
Created July 21, 2016 19:27
Monitors external screen connection, notifies on connected/disconnected with the screen size
//
// ScreenManager.swift
//
// Created by karthikeyan gm on 3/14/16.
// Copyright © 2016 karthikeyan g. All rights reserved.
//
import Foundation
import UIKit
import RxSwift