ProtoKit is a collection of protocols and extensions that make prototyping faster and easier with Swift programming language.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ProtoKit.xcodeproj
Sources
.gitignore
.swift-version
LICENSE
Package.swift
README.md
build.sh
fetch.sh

README.md

ProtoKit

license MIT Platform

ProtoKit is a collection of protocols and extensions that make prototyping faster and easier with Swift programming language

Package

ProtoKit is structured as a Package (Swift Package Manager), each swift file contains a specific feature / functionality. Because Swift Package Manager currently lacks support for iOS, a build.sh -script is provided to facilitate use of this framework.

Current features are:

  • Extensions
    • Bundle
    • CGRect
    • UIApplication
    • UICollectionView
    • UIColor
    • UIImage
    • UIImageView
    • UILabel
    • UIStoryboard
    • UITableView
  • Closurable (UIControl, UIButton, UIBarButtonItem, UIPageControl, UIGestureRecognizer)
  • CoreDataStack
  • SourcedError (Custom ErrorType)
  • Observer / TypedNotification (way to pass data via observing/notifying)
  • SegueHandlerType
  • Unified Collection (factory and related methods for creating UITableViewDataSources and UICollectionViewDataSources)

Requirements

ProtoKit version 3.0 and later requires:

  • iOS 11+ or tvOS 11+
  • Swift 4.1
  • Xcode 9.3
  • may work also for MacOS 10.11+, does not have support for Unified Collection
  • watchOS is not supported

Protocol naming conventions

Protocol types and naming conventions used in this framework:

  1. Can do => -able => Hashable, RawRepresentable, Equatable
  2. Is a => -Type => CollectionType, SequenceType, ErrorType
  3. Can be => -Convertible => FloatLiteralConvertible, CustomStringConvertible

Credits

Created and maintained by @moximillian.

Unified Collection inspired by

License

ProtoKit is released under an MIT License. See LICENSE for details.

Copyright © 2018-present Mox Soini.

Please provide attribution, it is greatly appreciated.