Globals

open class Globals

Undocumented

Initialization and Setup

  • Undocumented

    Declaration

    Swift

    public init()

Comparison

  • Compares two CGSizes with 0.0001 tolerance

    Declaration

    Swift

    open func isCGSizesEqual(first: CGSize, second: CGSize) -> Bool

Global Vars

  • Shared application

    Declaration

    Swift

    open var sharedApplication: UIApplication { get }
  • Default file manager

    Declaration

    Swift

    open var sharedFileManager: FileManager { get }
  • Default notification center

    Declaration

    Swift

    open var sharedNotificationCenter: NotificationCenter { get }
  • Shared user defaults

    Declaration

    Swift

    open var sharedUserDefaults: UserDefaults { get }
  • Application’s key window

    Declaration

    Swift

    open var keyWindow: UIWindow? { get }
  • Application’s window. Crashes if nil.

    Declaration

    Swift

    open var appWindow: UIWindow { get }
  • Is application in active state?

    Declaration

    Swift

    open var isAppActive: Bool { get }

Swift Exception Handling

Unwrap

  • Removes nested optionals until only one left

    Declaration

    Swift

    open func unwrap(_ _any: Any?) -> Any?

Top Controller

  • Current top most view controller

    Declaration

    Swift

    public var topViewController: UIViewController? { get }
  • Returns top view controller from base controller.

    Note

    In case you are using custom container controllers in your application this method won’t be able to process them.

    Declaration

    Swift

    open func topViewController(base: UIViewController? = nil, shouldCheckPresented: Bool = true) -> UIViewController?

    Parameters

    base

    Base controller from which to start. If not specified or nil then application delegate window’s rootViewController will be used.

    shouldCheckPresented

    Should it check for presented controllers?

  • Returns top most view controller that handles status bar style. This property might be more accurate than topViewController if custom container view controllers configured properly to return their top most controllers for status bar appearance.

    Declaration

    Swift

    public var statusBarStyleTopViewController: UIViewController? { get }

Animations

Dispatch

  • Executes a closure in a default queue after requested seconds. Uses GCD.

    Declaration

    Swift

    open func asyncBg(_ delay: TimeInterval = 0, closure: @escaping SimpleClosure)

    Parameters

    delay

    number of seconds to delay

    closure

    the closure to be executed

  • Executes a closure if already in background or dispatch asyn in background. Uses GCD.

    Declaration

    Swift

    open func performInBackground(_ closure: @escaping SimpleClosure)

    Parameters

    closure

    the closure to be executed

  • Executes a closure in the main queue after requested seconds asynchronously. Uses GCD.

    Declaration

    Swift

    open func asyncMain(_ delay: TimeInterval = 0, closure: @escaping SimpleClosure)

    Parameters

    delay

    number of seconds to delay

    closure

    the closure to be executed

  • Executes a closure if already in main or dispatch asyn in main. Uses GCD.

    Declaration

    Swift

    open func performInMain(_ closure: @escaping SimpleClosure)

    Parameters

    closure

    the closure to be executed

Thread Safety

  • Helper function that mimics objc @synchronized(self) {…} behaviour and syntax

    Declaration

    Swift

    open func synchronized(_ lock: Any, closure: () throws -> Void) rethrows

Alerts

  • Shows error alert with title, message, action title, cancel title and handler

    Declaration

    Swift

    open func showErrorAlert(title: String? = nil,
                             message: String? = nil,
                             actionTitle: String = "Dismiss",
                             style: UIAlertAction.Style = .cancel,
                             cancelTitle: String? = nil,
                             onCancel: (() -> Void)? = nil,
                             handler: (() -> Void)? = nil)

    Parameters

    title

    Alert title. Default is nil - no title.

    message

    Alert message. Default is nil - no message.

    actionTitle

    Action button title. Default is Dismiss.

    style

    Action button style. Default is .cancel.

    cancelTitle

    Cancel button title. Default is nil - no cancel button.

    onCancel

    Cancel button click closure. Default is nil - no action.

    handler

    Action button click closure. Default is nil - no action.

  • Shows enter text alert with title and message

    Declaration

    Swift

    open func showEnterTextAlert(title: String? = nil,
                                 message: String? = nil,
                                 text: String? = nil,
                                 placeholder: String? = nil,
                                 onCancel: (() -> Void)? = nil,
                                 completion: @escaping (_ text: String) -> ())

    Parameters

    title

    Alert title

    message

    Alert message

    placeholder

    Text field placeholder

    onCancel

    Cancel button click closure. Default is nil - no action.

    completion

    Closure that takes user entered text as parameter

  • Shows picker alert with title and message.

    Declaration

    Swift

    open func showPickerAlert(title: String? = nil,
                              message: String? = nil,
                              buttons: [String],
                              buttonsStyles: [UIAlertAction.Style]? = nil,
                              enabledButtons: [Bool]? = nil,
                              onCancel: (() -> Void)? = nil,
                              completion: @escaping ((String, Int) -> ()))

    Parameters

    title

    Alert title

    buttons

    Button titles

    buttonsStyles

    Button styles

    enabledButtons

    Enabled buttons

    onCancel

    Cancel button click closure. Default is nil - no action.

    completion

    Closure that takes button title and button index as its parameters

Email

  • Undocumented

    Declaration

    Swift

    public typealias EmailAttachment = (data: Data, mimeType: String, fileName: String)
  • Tries to send email with MFMailComposeViewController first. If can’t uses mailto: url scheme.

    Declaration

    Swift

    open func sendEmail(to: String, title: String? = nil, body: String? = nil)

    Parameters

    to

    Addressee’s email

    title

    Optional email title

    body

    Optional email body

  • Sends email with MFMailComposeViewController. Won’t do anything if MFMailComposeViewController.canSendMail() returns false.

    Declaration

    Swift

    open func sendEmailUsingMailComposer(to: String, title: String? = nil, body: String? = nil, attachments: [EmailAttachment] = []) -> Bool

    Parameters

    to

    Addressee’s email

    title

    Optional email title

    body

    Optional email body

    attachments

    Typles with data, mime type and file name.

    Return Value

    false if can not send email

  • Sends email using mailto: url scheme. Won’t do anything if URL can not be composed.

    Declaration

    Swift

    open func sendEmailUsingMailto(to: String, title: String? = nil, body: String? = nil)

    Parameters

    to

    Addressee’s email

    title

    Optional email title

    body

    Optional email body

Network Activity

Swizzle

Other Global Functions

  • Returns all classes that conforms to specified protocol. Protocol must be declared with @objc annotation. Takes 0.003s - 0.02s on 5s device. Example usage:

    let setupOnes: [SetupOnce.Type] = getClassesConformToProtocol(SetupOnce.self)
    // or
    let setupOnes = getClassesConformToProtocol(SetupOnce.self) as [SetupOnce.Type]
    

    Declaration

    Swift

    open func getClassesConformToProtocol<T>(_ protocol: Protocol) -> [T]
  • Returns all child classes for specified class. Not recursively. Takes 0.015s on 5s device. Example usage:

    let childClasses = getChildrenClasses(UIViewController.self)
    

    Declaration

    Swift

    open func getChildrenClasses<T>(of class: T.Type) -> [T.Type] where T : AnyObject
  • Undocumented

    Declaration

    Swift

    open func getMethodsList(object: AnyObject) -> [String]?
  • Returns string prepresentation of object’s pointer

    Declaration

    Swift

    open func getPointer(_ any: AnyObject) -> String
  • Undocumented

    Declaration

    Swift

    open func Translate(_ string: String) -> String
  • Opens iOS Settings page for current application

    Declaration

    Swift

    open func openAppSettings()