Swiftpack.co - Package - Moximillian/ProtoKit

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.

Github

link
Stars: 0
Help us keep the lights on

Dependencies

Releases

4.1.0 - Aug 31, 2018

let cell: MyCell = tableView.dequeueReusableCell => let cell = MyCell.dequeueReusable(in: tableView) ...and similar changes to all similar helpers.

4.0.0 - Jul 13, 2018

3.3.0 - May 27, 2018

3.2.0 - May 22, 2018

3.1.0 - Apr 23, 2018

new protocol: Instantiable, replaces Storyboard.instantiate()