swift - Xcode Swift 模板Lower Camel Case
问题描述
我知道如何为 ViewControllers、ViewModels 等制作模板,这些模板根据用户在创建文件时输入的文件名命名,但是我还没有找到一种方法来强制某些变量具有较小的驼峰式大小写。
所以基本上我想创建我的 VC 文件,其中包含一些变量,显然这些变量将取决于文件名(大写骆驼)的类型,但小写骆驼的名称。
例子:
class FileNameViewController {
var fileNameViewModel: FileNameViewModelDelegate?
}
class FileNameViewModel {
var fileNameViewController: FileNameViewControllerDelegate?
}
protocol FileNameViewControllerDelegate {
...
}
protocol FileNameViewModelDelegate {
...
}
是否可以让模板根据文件名填写小写的变量名和大写的类型?
解决方案
不可能在支持的修饰符之外处理 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 {
}
推荐阅读
- validation - 如何为 Xamarin 应用程序创建离线验证系统?
- excel - 在 VBA 中使用复制目标代码仅复制值而不是公式
- selenium - selenium.common.exceptions.InvalidArgumentException:消息:找不到文件:尝试上传文件夹时
- android - 国际化应用标题
- c# - 如何将静态路由添加到运行可执行文件时仍然有效的桌面应用程序?
- xml - 使用 XSLT 转换修改后的 Dublin Core XML
- java - 排除和重新导入不同版本的 Maven 依赖项
- html - Bootstrap 下拉菜单被删减
- sql - Oracle SQL - SELECT WHERE IN 最后两个数字(即 2020 财年和 2019 财年)
- java - Java File 使用 java FileName.java 命令运行,但不使用 javac Filename.java 编译