Xcode的代碼片段(Code Snippets)創(chuàng)建自定義的代碼片段粪狼,當(dāng)你重用這些代碼片段時(shí),會(huì)給你帶來(lái)很大的方便铜幽。
常用的:
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) <#returnType#>(^<#blockName#>)(<#arguments#>);
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 <#class#> *singleClass = nil;
+ (instancetype)shareInstance{
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
<#code to be executed once#>
});
return <#expression#>
}
}
12.TableView
- (UITableView *)tableView {
if(!<#tableview#>) {
<#tableview#> = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];
<#tableview#>.delegate =self;
<#tableview#>.dataSource =self;
}
return<#tableview#>;
}
#pragma mark - tableView delegate
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return <#expression#>
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return <#expression#>
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *identify =@"cellIdentify";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identify];
if(!cell) {
cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:identify];
}
cell.textLabel.text =self.arrayTitle[indexPath.row];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
}
自定義代碼片段:Xcode10之前
以Strong為例:
1.在書(shū)寫(xiě)@property屬性的地方寫(xiě)下如下語(yǔ)句:
@property (nonatomic,strong) <#Class#> *<#object#>;
2.選中上述語(yǔ)句疚顷,用鼠標(biāo)左鍵拖到 下圖中指示的代碼片段在Xcode中的區(qū)域里壮池,就新建了一個(gè)代碼片段
3.松開(kāi)鼠標(biāo)左鍵的同時(shí),會(huì)彈出代碼片段編輯窗口份乒,如下圖所示:
圖中從上到下的含義依次是:
①Title
代碼片段的標(biāo)題
②Summary
代碼片段的描述文字
③Platform
可以使用代碼片段的平臺(tái)恕汇,有IOS/OS X/All三個(gè)選項(xiàng)
④Language
可以在哪些語(yǔ)言中使用該代碼片段
⑤Completion Shortcut
代碼片段的快捷方式,例:copy
⑥Completion Scopes
可以在哪些文件中使用當(dāng)前代碼片段或辖,比如全部位置瘾英,頭文件中等,當(dāng)然可以添加多個(gè)支持的位置颂暇。
最后的一個(gè)大得空白區(qū)域是對(duì)代碼片段的效果預(yù)覽缺谴。
一切設(shè)置完成以后,點(diǎn)擊該菜單右下角的Done按鈕耳鸯,新建工作就結(jié)束了湿蛔。
Xcode10添加代碼塊:
代碼片段備份:
Xcode中的代碼片段默認(rèn)放在下面的目錄中:
~/Library/Developer/Xcode/UserData/CodeSnippets
我們可以將目錄中的代碼片段備份膀曾,也可以將其直接拷出來(lái)放在不同的電腦上使用。
歡迎關(guān)注我的博客阳啥,我會(huì)不定時(shí)更新