Xcode制作自己的文件模板

什么是文件模板:

文件模板就是xcode在项目创建文时的模板,比如创建UIViewController,UITableViewCell文件时,文件自带的内容。

为什么要制作自己的文件模板

规范开发,减少重复工作,比如每次创建

Xcode代码块存放地址UITableViewCell的时候总是不可避免的去新建label,button,imageView,很烦。

如何创建

xcode原本的文件模板

在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source这个地址下Cocoa Touch Class.xctemplate文件夹里有很对Xcode自带的文件模板。
文件模板
我们观察系统文件模板的特点,在Source文件夹下创建自己文件模板的文件夹,下图就是我自己创建的文件模板
自己的文件模板
然后将Cocoa Touch Class.xctemplate里的文件模板复制一份到自己的文件夹里。

开始修改

我想修改UIViewController的文件模板,找到对应的文件夹UIViewControllerObjective-C,我想让它继承自BaseViewController,然后在.m文件里划分好代码区域,写入友盟统计代码。

//___FILEHEADER___

___IMPORTHEADER_cocoaTouchSubclass___
#import "BaseViewController.h"
NS_ASSUME_NONNULL_BEGIN

@interface ___FILEBASENAMEASIDENTIFIER___ : BaseViewController

@end


NS_ASSUME_NONNULL_END
//___FILEHEADER___

#import "___FILEBASENAME___.h"

@interface ___FILEBASENAMEASIDENTIFIER___ ()

@end

@implementation ___FILEBASENAMEASIDENTIFIER___

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
}
-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    //开始统计
    [MobClick beginLogPageView:NSStringFromClass([self class])];
}
-(void)viewWillDisappear:(BOOL)animated{
    [super viewWillDisappear:animated];
    //结束统计
    [MobClick endLogPageView:NSStringFromClass([self class])];
}
#pragma mark ---------- layout ----------
-(void)layout{
    
}
#pragma mark ---------- delegate ----------
#pragma mark ---------- event response ----------
#pragma mark ---------- HTTP ----------
#pragma mark ---------- private method ----------
#pragma mark ---------- getter && setter ----------

@end

下面是对UITableViewCell的修改

//___FILEHEADER___

#import "___FILEBASENAME___.h"

@interface ___FILEBASENAMEASIDENTIFIER___ ()
@property (nonatomic, strong) UIImageView *imgView;
@property (nonatomic, strong) UILabel *titleLabel;
@property (nonatomic, strong) UILabel *detailLabel;
@property (nonatomic, strong) UILabel *label1;
@end
@implementation ___FILEBASENAMEASIDENTIFIER___


- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}
#pragma mark ---------- setter && getter ----------
-(UIImageView *)imgView{
    if(_imgView == nil){
        _imgView = [UIImageView new];
    }
    return _imgView;
}
-(UILabel *)titleLabel{
    if(_titleLabel == nil){
        _titleLabel = [UILabel new];
    }
    return _titleLabel;
}
-(UILabel *)detailLabel{
    if(_detailLabel == nil){
        _detailLabel = [UILabel new];
    }
    return _detailLabel;
}
-(UILabel *)label1{
    if(_label1 == nil){
        _label1 = [UILabel new];
    }
    return _label1;
}
@end

修改plist文件

将TemplateInfo.plist里的SortOrder改为0,为了和系统文件区分,可以将文件夹里的TemplateIcon.png图片改成自己喜欢的。
在这里插入图片描述
在这里插入图片描述
这样这个自定义文件模板就能出现在我们的xcode的面板上了。
在这里插入图片描述
按我们平常的方式就可以新建出自己的模板文件啦~
在这里插入图片描述

最后

Xcode代码块存放地址

~/Library/Developer/Xcode/UserData/CodeSnippets Xcode

文件模板存放位置:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/Source

这个文件需要备份,不然xcode一更新就没了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值