├── .DS_Store ├── LICENSE ├── MVVM Base.xctemplate ├── TemplateIcon.png ├── TemplateIcon@2x.png ├── TemplateInfo.plist ├── ___FILEBASENAME___Protocols.swift ├── ___FILEBASENAME___ViewController.swift └── ___FILEBASENAME___ViewModel.swift ├── MVVM.zip ├── README.md └── install /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digoreis/MVVMTemplate/8ce58ac952d2d8627ab5e23152f613b649308f75/.DS_Store -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Rodrigo Reis 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /MVVM Base.xctemplate/TemplateIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digoreis/MVVMTemplate/8ce58ac952d2d8627ab5e23152f613b649308f75/MVVM Base.xctemplate/TemplateIcon.png -------------------------------------------------------------------------------- /MVVM Base.xctemplate/TemplateIcon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digoreis/MVVMTemplate/8ce58ac952d2d8627ab5e23152f613b649308f75/MVVM Base.xctemplate/TemplateIcon@2x.png -------------------------------------------------------------------------------- /MVVM Base.xctemplate/TemplateInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Kind 6 | Xcode.IDEFoundation.TextSubstitutionFileTemplateKind 7 | Description 8 | A MVVM base classes 9 | Summary 10 | A MVVM base classes 11 | SortOrder 12 | 8 13 | DefaultCompletionName 14 | MVVMName 15 | Platforms 16 | 17 | com.apple.platform.iphoneos 18 | 19 | Options 20 | 21 | 22 | Identifier 23 | productName 24 | Required 25 | 26 | Name 27 | MVVM base name: 28 | Description 29 | The name of the MVVM to create 30 | Type 31 | text 32 | NotPersisted 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /MVVM Base.xctemplate/___FILEBASENAME___Protocols.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ___FILENAME___ 3 | // ___PROJECTNAME___ 4 | // 5 | // Created by ___FULLUSERNAME___ on ___DATE___. 6 | //___COPYRIGHT___ 7 | // 8 | 9 | import Foundation 10 | 11 | protocol ___FILEBASENAME___DataSource { 12 | 13 | } 14 | 15 | protocol ___FILEBASENAME___Delegate { 16 | 17 | } 18 | 19 | protocol ___FILEBASENAME___Feedback { 20 | 21 | } -------------------------------------------------------------------------------- /MVVM Base.xctemplate/___FILEBASENAME___ViewController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ___FILENAME___ 3 | // ___PROJECTNAME___ 4 | // 5 | // Created by ___FULLUSERNAME___ on ___DATE___. 6 | //___COPYRIGHT___ 7 | // 8 | 9 | import UIKit 10 | 11 | class ___FILEBASENAME___ViewController: UIViewController, ___FILEBASENAME___Feedback { 12 | 13 | // MARK: - Attributes 14 | var viewModel = ___FILEBASENAME___ViewModel() 15 | var dataSource : ___FILEBASENAME___DataSource { 16 | return viewModel 17 | } 18 | var delegate : ___FILEBASENAME___Delegate { 19 | return viewModel 20 | } 21 | 22 | // MARK: - IBOutlets 23 | 24 | // MARK: - View Lifecyle 25 | 26 | override func viewDidLoad() { 27 | super.viewDidLoad() 28 | viewModel.feedback = self 29 | } 30 | 31 | // MARK: - IBActions 32 | 33 | // MARK: - Instance Methods 34 | } -------------------------------------------------------------------------------- /MVVM Base.xctemplate/___FILEBASENAME___ViewModel.swift: -------------------------------------------------------------------------------- 1 | // 2 | // ___FILENAME___ 3 | // ___PROJECTNAME___ 4 | // 5 | // Created by ___FULLUSERNAME___ on ___DATE___. 6 | //___COPYRIGHT___ 7 | // 8 | 9 | import Foundation 10 | 11 | class ___FILEBASENAME___ViewModel: ___FILEBASENAME___DataSource, ___FILEBASENAME___Delegate { 12 | 13 | // MARK: - Attributes 14 | 15 | var feedback: ___FILEBASENAME___Feedback? 16 | 17 | // MARK: - View Lifecycle 18 | 19 | // MARK: - Instance Methods 20 | 21 | // MARK: - ___FILEBASENAME___Delegate Methods 22 | 23 | // MARK: - ___FILEBASENAME___DataSource Methods 24 | } -------------------------------------------------------------------------------- /MVVM.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/digoreis/MVVMTemplate/8ce58ac952d2d8627ab5e23152f613b649308f75/MVVM.zip -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MVVMTemplate 2 | 3 | ## Install ## 4 | Entrar na pasta com o console e digitar : ./install 5 | 6 | ## Template ## 7 | 8 | Os arquivos ficam dentro do diretório MVVM Base.xctemplate , para usar o instalador é só fazer o ZIP dele. 9 | 10 | Depois coloco uma descrição melhor. -------------------------------------------------------------------------------- /install: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo Copying MVVM zip file to Xcode templates 4 | sudo cp MVVM.zip /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File\ Templates/Source/ 5 | echo unziping MVVM 6 | cd /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File\ Templates/Source/ 7 | sudo rm -R MVVM\ Base.xctemplate 8 | sudo unzip MVVM.zip 9 | echo removing zip file 10 | sudo rm MVVM.zip 11 | sudo rm -R __MACOSX 12 | echo Done! 13 | open /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File\ Templates/Source/ --------------------------------------------------------------------------------