iOS进阶

代码片段(Code Snippets)

2017-07-28  本文已影响21人  泰克2008

你之前可能已经使用过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方法,将其拖拽到代码片段库中。

看起来是这样的:

4196_140731104706_1.gif

新创建的代码片段将会在代码片段库的最底部,你可以将其拖拽到任何你想拖拽的文件当中去,让我们来尝试一下。

双击刚刚新建的代码片段,然后点击edit.弹出的视图非常使用,实际上它们都很重要,所以做个简短的解释。
(1)Title and Summary:代码片段库中该代码片段的名字和简述
(2)Platform and Language:代码片段匹配的平台和编程语言
(3)Completion Shortcut:在Xcode中输入的快捷键
(4)Completion Scopes:代码片段作用的范围,这对于保持代码片段库整洁来说十极好的。

像下面一样填充里面的属性:

4196_140731104802_1.png

令牌:

当你加入令牌时,代码片段将会变得非常强大,因为它允许你在片段中标记代码,而不需要硬编码。通过使用Tab键使得他们非常容易修改,就像自动补全一样。

在片段中仅仅只要输入 <#TokenName#> 就可以添加一个令牌,创建一个令牌使用 shared<#ObjectName#>替代sharedObject ,看起来像这样:

4196_140731104823_1.png

点击 Done 来保存该片段,然后来用用它。

在 SingletonObject.m 文件中输入 singleton accessor,然后当它出现的时候使用自动补全

4196_140731104850_1.gif

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

上一篇下一篇

猜你喜欢

热点阅读