我的常用代码片段(Snippet)

引用唐巧的文章-使用 Git 管理代码片段


使用 Git 管理代码片段

在了解了 code snippet 之后,我在想能不能用 Git 来管理它,于是就研究了一下,发现它都存放于目录 ~/Library/Developer/Xcode/UserData/CodeSnippets 中。于是,我就将这个目录设置成一个 Git 的版本库,然后将自己整理

的代码片段都放到 Github 上了。现在我有 2 台 mac 机器,一台笔记本,一台公司的 iMac,我常常在 2 台机器间切换着工作,由于将代码片段都放在 github 上,所以我在任何一端有更新,另一端都可以很方便的用 git pull 将更新拉到本地。前两天将公司机器升级到 lion,又重装了 lion 版的 xcode,简单设置一下,所有代码片段都回来了,非常方便。

我的代码片段所在的 github 地址是 https://github.com/tangqiaoboy/xcode_tool, 使用它非常方便,只需要如下 3 步即可:

git clone https://github.com/tangqiaoboy/xcode_tool

cd xcode_tool

./setup_snippets.sh

大家也可以将我的 github 项目 fork 一份,改成自己的。这样可以方便地增加和管理自己的代码片段。

1.属性Strong(pps)

@property (nonatomic, strong) <#Type#> *<#name#>;
@property (nonatomic, weak) <#Type#> *<#name#>; 
@property (nonatomic, assign) <#Type#> *<#name#>;

2.创建Window(windowinit)

self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = [[<#type#> alloc]init];
[self.window makeKeyAndVisible];

3.初始化tableview(tableinit)


#pragma mark -
#pragma mark - UITableViewDataSource
// 分区数量
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

// Cell数量
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 10;
}

// Cell样式
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static  NSString* const reuseIdentifier = @"reuseIdentifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:reuseIdentifier];
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:reuseIdentifier];
    }
    return cell;
}

#pragma mark -
#pragma mark - UITableViewDelegate
// Cell选中事件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    
}

// Cell高度
- (CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return 44;
}

// SectionHeader高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return FLT_MIN;
}

// SectionFooter高度
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return FLT_MIN;
}

// SectionHeaderView
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    return [UIView new];
}

// SectionFooterView
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
    return [UIView new];
}

#pragma mark -
#pragma mark - Getter
- (UITableView *)tableView {
    if (!_tableView) {
        _tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:(UITableViewStylePlain)];
        _tableView.delegate = self;
        _tableView.dataSource = self;
        _tableView.dataSource = self;
        _tableView.delegate  = self;
        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
        _tableView.tableFooterView = [UIView new];
        _tableView.tableHeaderView = [UIView new];
        _tableView.estimatedRowHeight = 200;
        _tableView.rowHeight = UITableViewAutomaticDimension;
    }
    return _tableView;
}

4.tableViewCell(tcellinit)

+(instancetype)cellWithTableView:(UITableView *)tableView {
static NSString* const <#cellIdentifier#> = @"<#cellIDStr#>";
[tableView registerNib:[UINib nibWithNibName:@"<#nibName#>" bundle:nil] forCellReuseIdentifier:<#cellIdentifier#>];
<#nibName#> *cell = [tableView dequeueReusableCellWithIdentifier:<#cellIdentifier#>];

if (!cell) {
cell = [[<#nibName#> alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:<#cellIdentifier#>];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;

return cell;
}

你可能感兴趣的:(我的常用代码片段(Snippet))