在iOS開發過程中,經常會用到一些相似的代碼。我們能不能將這些代碼保存起來,重複使用呢?回答是可以的。我們來看一下Xcode代碼片段——Code Snippets。
Xcode的代碼片段(Code Snippets)創建自定義的代碼片段,當你重用這些代碼片段時,會給你帶來很大的方便。
例:創建一個常見的代碼塊
@property (nonatomic, strong) <#type#> *<#value#>;
其中<##> 作用是佔位,## 之間可以輸入提示文字。
常用的:
1.strong:@property (nonatomic,strong) <#Class#> *<#object#>;
2.weak:@property (nonatomic,weak) <#Class#> *<#object#>;
3.copy:@property (nonatomic,copy) NSString *<#string#>;
4.assign:@property (nonatomic,assign) <#Class#> <#property#>;
5.delegate:@property (nonatomic,weak) id<<#protocol#>> <#delegate#>;
6.block:@property (nonatomic,copy) <#Block#> <#block#>;
7.mark:#pragma mark <#mark#>
8.ReUseCell:
static NSString *rid=<#rid#>; <#Class#> *cell=[tableView dequeueReusableCellWithIdentifier:rid]; if(cell==nil){ cell=[[<#Class#> alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:rid]; } return cell;
9.MainGCD:
dispatch_async(dispatch_get_main_queue(), ^{ <#code#> });
10.AfterGCD:
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#> });
11.OnceGCD:
static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ <#code to be executed once#> });
自定義代碼片段:
以Strong爲例:
1.在書寫@property屬性的地方寫下如下語句:@property (nonatomic,strong) <#Class#> *<#object#>;
2.選中上述語句,用鼠標左鍵拖到 下圖中指示的代碼片段在Xcode中的區域裏,就新建了一個代碼片段
屏幕快照 2016-09-28 上午11.01.52.png
3.鬆開鼠標左鍵的同時,會彈出代碼片段編輯窗口,如下圖所示:
屏幕快照 2016-09-28 上午10.56.47.png
圖中從上到下的含義依次是:
①Title
代碼片段的標題
②Summary
代碼片段的描述文字
③Platform
可以使用代碼片段的平臺,有IOS/OS X/All三個選項
④Language
可以在哪些語言中使用該代碼片段
⑤Completion Shortcut
代碼片段的快捷方式,例:copy
⑥Completion Scopes
可以在哪些文件中使用當前代碼片段,比如全部位置,頭文件中等,當然可以添加多個支持的位置。
最後的一個大得空白區域是對代碼片段的效果預覽。
一切設置完成以後,點擊該菜單右下角的Done按鈕,新建工作就結束了。
代碼片段備份:
Xcode中的代碼片段默認放在下面的目錄中:
~/Library/Developer/Xcode/UserData/CodeSnippets