{"id":21189011,"url":"https://github.com/mkgithub/messagebox-concept","last_synced_at":"2025-07-10T02:31:28.782Z","repository":{"id":56920914,"uuid":"56994740","full_name":"MKGitHub/MessageBox-Concept","owner":"MKGitHub","description":"MessageBox is a simple concept for decoupling entities. Think of it as notifications but the opposite.","archived":false,"fork":false,"pushed_at":"2018-10-16T21:10:52.000Z","size":195,"stargazers_count":6,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-30T17:15:27.221Z","etag":null,"topics":["concept","decoupling-entities","message","notifications","swift","viewcontroller"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MKGitHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-04-24T21:16:21.000Z","updated_at":"2018-11-10T15:22:30.000Z","dependencies_parsed_at":"2022-08-20T21:50:25.911Z","dependency_job_id":null,"html_url":"https://github.com/MKGitHub/MessageBox-Concept","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MKGitHub%2FMessageBox-Concept","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MKGitHub%2FMessageBox-Concept/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MKGitHub%2FMessageBox-Concept/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MKGitHub%2FMessageBox-Concept/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MKGitHub","download_url":"https://codeload.github.com/MKGitHub/MessageBox-Concept/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225614626,"owners_count":17496938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["concept","decoupling-entities","message","notifications","swift","viewcontroller"],"created_at":"2024-11-20T18:49:32.663Z","updated_at":"2024-11-20T18:49:33.352Z","avatar_url":"https://github.com/MKGitHub.png","language":"Swift","readme":"[![MadeInSweden](https://img.shields.io/badge/Made_In-Stockholm_Sweden-blue.svg)](https://en.wikipedia.org/wiki/Stockholm)\n[![Status](https://img.shields.io/badge/Status-Active_and_in_development-blue.svg)](https://github.com/MKGitHub/MessageBox)\n\n[![Version](https://img.shields.io/badge/Version-1.2-blue.svg)](https://github.com/MKGitHub/MessageBox-Concept)\n[![Carthage](https://img.shields.io/badge/carthage-1.2-blue.svg)](https://github.com/MKGitHub/MessageBox-Concept)\n[![SPM](https://img.shields.io/badge/SPM-1.2-blue.svg)](https://github.com/MKGitHub/MessageBox-Concept)\n[![CocoaPods](https://img.shields.io/badge/CocoaPods-🤬-blue.svg)](https://github.com/MKGitHub/MessageBox)\n\n[![Platform](https://img.shields.io/badge/Platforms-macOS_iOS_tvOS-blue.svg)](https://github.com/MKGitHub/MessageBox-Concept)\n[![Swift](https://img.shields.io/badge/Swift_Version-4.2-blue.svg)](https://github.com/MKGitHub/MessageBox)\n\n\n🌟 Give this repo a star and help its development grow! 🌟\n\n\u003cbr/\u003e\n\n\nMessageBox Concept\n------\nMessageBox is a simple concept for decoupling entities. Think of it as notifications but the opposite.\n\n* For example entity A can place a message that entity B can read whenever suitable – not at once like notifications.\n* 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.\n* This concept is highly flexible as it allows you to change which entity should put \u0026 get a message, without having to refactor your code \u0026 architecture.\n\n![Image of MessageBox-Concept](https://github.com/MKGitHub/MessageBox-Concept/blob/master/MessageBox.png)\n\n\u003cbr/\u003e\n\n\nSimple Example Usage\n------\n```swift\nlet messageBox = MessageBox()\n\n// set\nmessageBox.setObject(\"TestObject1\", forKey:\"TestKey1\")\n\n// get\n// but don't remove it, keep it stored, so that it can still be retrieved later\nlet someObject = messageBox.getObject(forKey:\"TestKey1\", removeIfFound:false)\n\n// get\n// and remove it\nlet someObject = messageBox.getObject(forKey:\"TestKey1\", removeIfFound:true)\n```\n\n\u003cbr/\u003e\n\n\nWhat’s New?\n------\n* Version 1.2 updates for Swift 4.2.\n* Version 1.1.1 adds documentation.\n\n\nRequirements\n------\n* Swift Version 4.2\n* Xcode 10\n\n\nHow to Install\n------\nThere 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 \u0026 read the MessageBox API, and it will also allow MessageBox to compile using your apps build settings. \n\n* Using Git: `git clone https://github.com/MKGitHub/MessageBox.git` then add `MessageBox.swift` to your Xcode project.\n* Manual Way: Add `MessageBox.swift` to your Xcode project.\n* Using Carthage: In your Cartfile add `github \"MKGitHub/MessageBox\" ~\u003e 1.2` then `carthage update --no-build` then add `MessageBox.swift` to your Xcode project.\n* Using Swift Package Manager: swift-tools-version:4.0\n* CocoaPods support has been removed! 🙌🙏🎉 Never use CocoaPods! 💀\n\n\nDocumentation\n------\nGo to the documentation [index page](http://htmlpreview.github.io/?https://raw.githubusercontent.com/MKGitHub/MessageBox-Concept/master/docs/index.html).\n\n\nUsed In Apps\n------\nMessageBox 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.\n\n* McDonald's apps\n\n\nNotes\n------\nhttps://github.com/MKGitHub/MessageBox-Concept\n\nhttp://www.xybernic.com\n\nCopyright 2016/2017/2018 Mohsan Khan\n\nLicensed under the Apache License, Version 2.0.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkgithub%2Fmessagebox-concept","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmkgithub%2Fmessagebox-concept","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmkgithub%2Fmessagebox-concept/lists"}