你之前可能已经使用过Xcode的代码片段(Code Snippets)功能了,一些常见的是for in片段和dispatch_after片段。在这一部分,你将学会如何创建自定义的代码片段,当你重用这些代码片段时,看起来非常棒。你将创建的是获取单例的代码片段。
如果你不熟悉单例模式,可以看看这个教程。
下面可能是你使用单例模式的常用代码模板
+ (instancetype)sharedObject {
static id _sharedInstance = nil;
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
_sharedInstance = [[self alloc] init];
});
return _sharedInstance;
}
非常酷的是这份片段也包含了dispatch_once片段。
按下面步骤:
(1)在 @implementation 的下一行粘贴上面的代码到 SingletonObject.m
(2)用快捷键Command Option Control 2来打开代码片段库,在代码片段库中你会看到默认的包含在Xcode中的代码片段库。
(3)选中整个+sharedObject方法,将其拖拽到代码片段库中。
看起来是这样的:

新创建的代码片段将会在代码片段库的最底部,你可以将其拖拽到任何你想拖拽的文件当中去,让我们来尝试一下。
双击刚刚新建的代码片段,然后点击edit.弹出的视图非常使用,实际上它们都很重要,所以做个简短的解释。
(1)Title and Summary:代码片段库中该代码片段的名字和简述
(2)Platform and Language:代码片段匹配的平台和编程语言
(3)Completion Shortcut:在Xcode中输入的快捷键
(4)Completion Scopes:代码片段作用的范围,这对于保持代码片段库整洁来说十极好的。
像下面一样填充里面的属性:

令牌:
当你加入令牌时,代码片段将会变得非常强大,因为它允许你在片段中标记代码,而不需要硬编码。通过使用Tab键使得他们非常容易修改,就像自动补全一样。
在片段中仅仅只要输入 <#TokenName#> 就可以添加一个令牌,创建一个令牌使用 shared<#ObjectName#>替代sharedObject ,看起来像这样:

点击 Done 来保存该片段,然后来用用它。
在 SingletonObject.m 文件中输入 singleton accessor,然后当它出现的时候使用自动补全

对于经常使用的代码来说,创建一个代码片段是非常实用的。
网友评论