Skip to content

SoufianHossam/TempGenerator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Temp Generator

Temp Generator is a menu bar application for Mac OS X that helps you generate boilerplate code in a matter of seconds, just by drag and drop movements.

This will be very handy when you use MVVM, MVVM-R, MVP, VIPER and CleanSwift architectures.


Let's get started


First .. create a new file with a name like that #..#ViewController.swift the app will replace #..# in file name and file content with the provided string.

Second .. write your boilerplate code like the following example then save:

//
//  #..#ViewController.swift

import UIKit

class #..#ViewController: UIViewController {
    // MARK:- IBOutlets
    
    // MARK:- Variables
    var router: #..#RoutingLogic!
    var viewModel: #..#BusinessLogic!
    
    // MARK:- Init
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setupDependencies()
    }
    
    private func setupDependencies() {
        
        router = #..#Router(viewController: self)
    }
    
    // MARK: - View life cycle
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }
    
    // MARK: - Functions
    
}

Third .. Drag this file into the app.

Fourth .. Enter a scene name then hit generate.

Fifth .. Drag the updated templates from the app into Xcode.

Note you can import more than one template into the app (as in demo, I imported three swift files and one storyboad)

Demo Video

Download HQ Demo Video

Installation

Clone this repo, build then run the app or simply Download The App From Here

License

This project is licensed under the MIT License - see the LICENSE.md file for details

About

TempGenerator is a menu bar application for Mac OS X that helps you generate boilerplate code in a matter of seconds, just by drag and drop movements.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages