Xcode7 创建自定义xctemplate Xcode生成默认注释

转  https://blog.csdn.net/jeffasd/article/details/52024525

1 模板方案路径

系统模板的路径(Xcode7)/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates在这个目录下有

模板

其中的Core Data、Other、Resource、Source和User Interface对应着

Xcode中New File菜单

BaseVC.xctemplate文件夹放到任意系统模板文件夹中,就会在New File时出现在对应的选项中。

把文件copy吧,系统会提醒需要输入管理员密码。放心输入,不然没法下一步操作。

2. BaseVC.xctemplate介绍

假设已经将BaseVC.xctemplate放入了Source文件夹中,查看BaseVC.xctemplate中有
(1)BaseViewControllerObjective-C 文件夹
用来创建.h 和 .m文件。 其中文件夹的命名规范是[name]+Objective-C. 如果是创建swift修改为swift。
(2)BaseViewControllerXibObjective-C文件夹
用来创建.h,.m和.xib文件。其中文件夹的命名规范是[name]+XibObjective-C. swift类似。
(3)TemplateIcon图片
图片是用来显示在New File的菜单上的。任意放一个自己喜欢的图片,像素138*138即可。
(4)TemplateInfo.plist
配置文件。下面单独讲讲。

3. ___FILEBASENAME___.h

内容为

  1. //
  2. // ___FILENAME___
  3. // ___PROJECTNAME___
  4. //
  5. // Created by ___FULLUSERNAME___ on ___DATE___.
  6. //___COPYRIGHT___
  7. //
  8. #import “___VARIABLE_cocoaTouchSubclass___.h”
  9. @interface ___FILEBASENAMEASIDENTIFIER___ : ___VARIABLE_cocoaTouchSubclass___
  10. @end

里面的参数在生成h文件时,系统会替换了输入的文件名。具体都是什么含义,大家可以自行Google了。

4. ___FILEBASENAME___.m

内容为

  1. //
  2. // ___FILENAME___
  3. // ___PROJECTNAME___
  4. //
  5. // Created by ___FULLUSERNAME___ on ___DATE___.
  6. //___COPYRIGHT___
  7. //
  8. #import “___FILEBASENAME___.h”
  9. // Controllers
  10. // Model
  11. // Views
  12. //#define <#macro#> <#value#>
  13. @interface ___FILEBASENAMEASIDENTIFIER___ ()
  14. //@property (nonatomic, strong) <#type#> *<#name#>
  15. @end
  16. @implementation ___FILEBASENAMEASIDENTIFIER___
  17. #pragma mark – View Controller LifeCyle
  18. – (instancetype)initWithCoder:(NSCoder *)coder
  19. {
  20. self = [super initWithCoder:coder];
  21. if (self) {
  22. }
  23. return self;
  24. }
  25. – (void)viewDidLoad
  26. {
  27. [super viewDidLoad];
  28. [self initialNavigationBar];
  29. }
  30. – (void)viewDidAppear:(BOOL)animated
  31. {
  32. [super viewDidAppear:animated];
  33. }
  34. – (void)viewWillDisappear:(BOOL)animated
  35. {
  36. [super viewWillDisappear:animated];
  37. }
  38. – (void)didReceiveMemoryWarning
  39. {
  40. [super didReceiveMemoryWarning];
  41. [[SDImageCache sharedImageCache] setValue:nil forKey:@”memCache”];
  42. }
  43. – (void)dealloc
  44. {
  45. [[NSNotificationCenter defaultCenter] removeObserver:self];
  46. }
  47. #pragma mark – Override
  48. #pragma mark – Initial Methods
  49. – (void)initialNavigationBar
  50. {
  51. // self.navigationItem.title = <#title#>;
  52. }
  53. #pragma mark – Target Methods
  54. #pragma mark – Notification Methods
  55. #pragma mark – KVO Methods
  56. #pragma mark – UITableViewDelegate, UITableViewDataSource
  57. #pragma mark – Privater Methods
  58. #pragma mark – Setter Getter Methods
  59. @end

按编程规范编写的,大家可以自行修改,New File后将自动生成你修改的内容。 有什么异议可以看看iOS代码编程规范

5. TemplateInfo.plist

TemplateInfo.plist
  • SortOrder 这个是排序的值,可以设置在界面中的摆放位置
  • Options中的Item0,Item1,Item2,Item3 对应了

    Options

    第一行到第四行。

  • Item0 没什么可以修改

    值得说说
  • 自定义的BaseViewController的类,当然可以使用系统或自己定义。
  • BaseViewController的后缀。选择后,自动在Class后面添加ViewController的后缀。
  • 是否生成Xib文件,默认是ture。当选择了BaseViewController时,可以进行checkout,不然不可选,不生成Xib文件。

6. 用一用

  1. New File

    新建
  2. Next

    Options.png

    命名Test

  3. 结果

    生成

成功。

有啥没说清楚的,给我评论。

文/蝴蝶之梦天使(简书作者)
原文链接:http://www.jianshu.com/p/93527682d8d3
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
个人分类: iOS
发帖时间: iOS

发表评论

电子邮件地址不会被公开。 必填项已用*标注