iOS - Xcode 设置代码片段

为了提高编程的效率,有时候也要用上一些捷径。代码片段就是我们可以用上的捷径之一。

一、创建代码片段

Strong 为例:
1、在书写 @property 属性的地方写下如下语句:

Object-C
1
@property (nonatomic, strong) <#Class#> *<#object#>;

2、选中上述语句,右键点击弹窗中的“Create Code Snippet”

3、弹出代码片段编辑窗口,如下图所示:

图中从上到下的含义依次是:

  1. Title:标题
  2. Summary:描述文字
  3. 代码块区域
  4. Language:可以在哪些语言中使用该代码片段
  5. Platform:可以使用代码片段的平台,有 All/iOS/macOS/tvOS/watchOS 五个选项
  6. Completion:敲出代码片段的快捷方式,例:@ps
  7. Availbability:可以在哪些文件中使用当前代码片段,比如全部位置,头文件中,.m文件中,声明位置,实现位置等,当然可以添加多个支持的位置。

一切设置完成以后,点击该菜单右下角的Done按钮,新建工作结束。

二、常用代码块

1、strong:

Object-C
1
@property (nonatomic, strong) <#Class#> *<#object#>;

2、weak:

Object-C
1
@property (nonatomic, weak) <#Class#> *<#object#>;

3、copy:

Object-C
1
@property (nonatomic, copy) NSString *<#string#>;

4、assign:

Object-C
1
@property (nonatomic, assign) <#Class#> <#property#>;

5、delegate:

Object-C
1
@property (nonatomic, weak) id<<#protocol#>> <#delegate#>;

6、block:

Object-C
1
@property (nonatomic, copy) <#Block#> <#block#>;

7、mark:

Object-C
1
#pragma mark - <#mark#>

8、ReUseCell:

Object-C
1
2
3
4
5
6
static NSString **cellID = <#cellID#>;
<#Class#> *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if(cell == nil) {
cell = [[<#Class#> alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
}
return cell;

9、button:

Object-C
1
2
3
4
5
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.frame = CGRectMake(<##>, <##>, <##>, <##>);
btn.backgroundColor = [UIColor clearColor];
[btn addTarget:self action:@selector(clicked:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];

10、MainGCD:

Object-C
1
2
3
dispatch_async(dispatch_get_main_queue(), ^{
<#code#>
});

11、AfterGCD:

Object-C
1
2
3
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(<#delayInSeconds#> * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
<#code to be executed after a specified delay#>
});

12、OnceGCD:

Object-C
1
2
3
4
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
<#code to be executed once#>
});

13、Screen Size

Object-C
1
2
#define SCREEN_WIDTH        ([UIScreen mainScreen].bounds.size.width)
#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)