你好,游客 登录 注册 搜索
背景:
阅读新闻

XCode 4 :使用Snippets - kmyhy的专栏

[日期:2013-03-16] 来源:  作者: [字体: ]

原文:http://www.icodeblog.com/2011/12/06/using-xcode-4-snippets/

最近,我偶然看到 这篇文章 , 对Xcode4的 Snippets产生了极大的兴趣。在此之前,我从来不知道什么snippets。读了那篇文章后,我开始使用它们,并创建了自己的snippets。如今,我的工作效率提高了一大截。

下面这个例子,演示了snippets的强大之处。

键入:ttt

snippets将会自动为你生成如下代码:

#pragma mark - UITableView Datasource  

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

     return 1;

}  

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {    

return 10;

}  

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

     static NSString *cellIdentifier = @"Cell";

       UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];

       if(cell == nil) {

         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];

     }

       cell.textLabel.text = [NSString stringWithFormat:@"Cell %d", indexPath.row];

       return cell;

}  

#pragma mark - UITableView Delegate methods  

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {  

}

看到了吗?仅仅敲3下键,就可以得到一个带有数据的、立即就可运行的tableview委托方法实现。

本文从另一个角度介绍Xcode4 的snippets,主要演示如何创建snippets并将之和团队成员共享。

在Xcode中添加Snippet

我觉得,这个工作非常不直观。snippet库隐藏得太深了。要把它找出来,首先确认Xcode的右边栏是可见的——如果不可见,可能需要点击view面板工具条(Xcode右上角)上最后一个按钮。

在右边栏可见的情况下,点击面板底部的 “{}” 按钮。这将打开snippet库。

可以随便查看Xcode自带的一些snippets。但绝大部分时候它们不是很有用。我觉得苹果工程师们是不是“太”聪明点了?需要我花一点时间才能说清楚如何去添加一个snippet。你可能以为会有“+”号按钮或者别的什么按钮存在。实际上,只需将一段代码直接拖到snippet库窗口即可。

一旦你将代码拖到snippet库,它会创建一个默认名为“My CodeSnippet”的snippet。再次重申,这真的很不直观。然后,你需要双击My Code Snippet,然后点击Edit按钮才可以修改它。

讲一下其中一些重要的地方:

  1. Title – snippet的名称,在自动完成过程中它会显示。
  2. Completion Shortcut – 触发snippet的快捷命令。例如,可以用ttt来自动创建UITableView的是数据源方法和委托方法代码。
  3.  Completion Scopes – 这个更酷。在文档的接口和实现中,你可以用同一个快捷命令,它们会代表不同的snippets。例如,在类的实现中,你肯定不会想着去调用@property这个snippet。因此,它们在实现中会被忽略。

加入动态字段

你可能注意到,许多苹果自动生成的类或snippets(比如UIAlertView),会有一些“气泡”,暗示了你应该填充的数据的具体类型。而且你可以用tab键在它们之间切换。要创建自己的气泡,可以在你的代码中使用:

<#Text#>

这里,Text代表你想在气泡中显示的内容。

点击“done”按钮,你就可以使用你的snippets了。

共享 Snippets

Xcode并没有导出Snippets的按钮,所有的snippets就放在了这里:

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

这意味着你必须手动将它们共享给其他开发者(将它们打包并email),或者将这个文件夹置于版本控制(比如git)之下。我更喜欢后者。只要有开发者添加了新的snippet,其他人就可以去pull下来,然后重启Xcode,就可以看见新的snippet。

结论

剩下的问题就是自己去实际使用snippets了。熟悉它可能需要一点时间,但我相信你最终会满意的。通过下面的链接,可以下载到我正在使用的一些snippets,解压缩后将它们放到我说的地方。

我的 Snippets






收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻