MessageBox-Concept

1.2

MessageBox is a simple concept for decoupling entities. Think of it as notifications but the opposite.
MKGitHub/MessageBox-Concept

What's New

Updates for Swift 4.2.

2018-10-16T21:10:52Z

β€’ Updated documentation + comments.

MadeInSweden Status

Version Carthage SPM CocoaPods

Platform Swift

🌟 Give this repo a star and help its development grow! 🌟


MessageBox Concept

MessageBox is a simple concept for decoupling entities. Think of it as notifications but the opposite.

  • For example entity A can place a message that entity B can read whenever suitable – not at once like notifications.
  • For example a view controller would like to talk to another view controller, but you don't want to create a strong or weak relationship between them.
  • This concept is highly flexible as it allows you to change which entity should put & get a message, without having to refactor your code & architecture.

Image of MessageBox-Concept


Simple Example Usage

let messageBox = MessageBox()

// set
messageBox.setObject("TestObject1", forKey:"TestKey1")

// get
// but don't remove it, keep it stored, so that it can still be retrieved later
let someObject = messageBox.getObject(forKey:"TestKey1", removeIfFound:false)

// get
// and remove it
let someObject = messageBox.getObject(forKey:"TestKey1", removeIfFound:true)

What’s New?

  • Version 1.2 updates for Swift 4.2.
  • Version 1.1.1 adds documentation.

Requirements

  • Swift Version 4.2
  • Xcode 10

How to Install

There is no framework/library distibution, I recommend that you simply add the MessageBox.swift to your project. As this will allow you to easily find & read the MessageBox API, and it will also allow MessageBox to compile using your apps build settings.

  • Using Git: git clone https://github.com/MKGitHub/MessageBox.git then add MessageBox.swift to your Xcode project.
  • Manual Way: Add MessageBox.swift to your Xcode project.
  • Using Carthage: In your Cartfile add github "MKGitHub/MessageBox" ~> 1.2 then carthage update --no-build then add MessageBox.swift to your Xcode project.
  • Using Swift Package Manager: swift-tools-version:4.0
  • CocoaPods support has been removed! πŸ™ŒπŸ™πŸŽ‰ Never use CocoaPods! πŸ’€

Documentation

Go to the documentation index page.

Used In Apps

MessageBox is used in production in the following apps/games (that I'm aware of), these apps are together used by millions of users. Please let me know if you use MessageBox.

  • McDonald's apps

Notes

https://github.com/MKGitHub/MessageBox-Concept

http://www.xybernic.com

Copyright 2016/2017/2018 Mohsan Khan

Licensed under the Apache License, Version 2.0.

Description

  • Swift Tools
View More Packages from this Author

Dependencies

  • None
Last updated: Thu Apr 11 2024 23:18:31 GMT-0900 (Hawaii-Aleutian Daylight Time)