首页 > 解决方案 > Xcode Swift 模板Lower Camel Case

问题描述

我知道如何为 ViewControllers、ViewModels 等制作模板,这些模板根据用户在创建文件时输入的文件名命名,但是我还没有找到一种方法来强制某些变量具有较小的驼峰式大小写。

所以基本上我想创建我的 VC 文件,其中包含一些变量,显然这些变量将取决于文件名(大写骆驼)的类型,但小写骆驼的名称。

例子:

class FileNameViewController {
    var fileNameViewModel: FileNameViewModelDelegate?
}

class FileNameViewModel {
    var fileNameViewController: FileNameViewControllerDelegate?
}

protocol FileNameViewControllerDelegate {
    ...
}

protocol FileNameViewModelDelegate {
    ...
}

是否可以让模板根据文件名填写小写的变量名和大写的类型?

标签: swiftxcodetemplates

解决方案


不可能在支持的修饰符之外处理 Xcode 模板文本宏(描述Xcode 官方文档)...

但是我发现以下方法很方便(采用您的示例):

//___FILEHEADER___

import Foundation

class ___FILEBASENAMEASIDENTIFIER___ViewController {
    var model___FILEBASENAMEASIDENTIFIER___: ___FILEBASENAMEASIDENTIFIER___ViewModelDelegate?
}

class ___FILEBASENAMEASIDENTIFIER___ViewModel {
    var controller___FILEBASENAMEASIDENTIFIER___: ___FILEBASENAMEASIDENTIFIER___ViewControllerDelegate?
}

protocol ___FILEBASENAMEASIDENTIFIER___ViewControllerDelegate {
}

protocol ___FILEBASENAMEASIDENTIFIER___ViewModelDelegate {
}

对于Card它生成的文件名:

//
//  Card.swift

import Foundation

class CardViewController {
    var modelCard: CardViewModelDelegate?
}

class CardViewModel {
    var controllerCard: CardViewControllerDelegate?
}

protocol CardViewControllerDelegate {
}

protocol CardViewModelDelegate {
}

推荐阅读